zoukankan      html  css  js  c++  java
  • hive函数应用之操作json

    1、创建表

      createtable.sql中存放的创建表语句如下

    create external table adt.jsontest
    (
        appKey string comment "APPKEY",
        clickJson string comment "测试json"
    ) 
    partitioned by(dt string comment "按照天进行分区") 
    row format delimited
    fields terminated by '|' 
    lines terminated by '
    ';

    执行如下命令

    hive -f createtable.sql

    2、导入数据

      数据数据文件如下

      data.txt

    apds|{"name":"zhangsan","age":23}
    apds|{"name":"lisi","age":24}
    apds|{"name":"wangwu","age":25}
    apds|{"name":"zhaoliu","age":26}

      将数据上产到hdfs

    hdfs dfs -copyFromLocal data.txt /data/test/2018-09-10/

      加载外部表

      在hive命令行执行如下语句

    ALTER TABLE adt.jsontest ADD PARTITION (dt="2018-09-10") LOCATION "/data/test/2018-09-10/";

     3、查询数据

      get_json_object()函数进行查询

    select get_json_object(t.clickJson,'$.name'),get_json_object(t.clickJson,'$.age')  from adt.jsontest t

      json_tuple()函数进行查询

    select t2.* from adt.jsontest t1 lateral view json_tuple(t1.clickJson, 'name', 'age') t2 as b1, b2;

      查询结果如下:

  • 相关阅读:
    redis-mysql连接池
    Java并发编程原理
    利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件
    Tomcat 启动图解
    JVM
    Java中的Exception
    Java 设计模式六原则及23中常用设计模式
    Jquery15 插件
    Jquery14 工具函数
    Jquery13 Ajax 进阶
  • 原文地址:https://www.cnblogs.com/haizhilangzi/p/9621512.html
Copyright © 2011-2022 走看看