using JSON-SerDe in Hive tables

后端 未结 4 1309
被撕碎了的回忆
被撕碎了的回忆 2021-01-02 21:57

I\'m trying JSON-SerDe from below link http://code.google.com/p/hive-json-serde/wiki/GettingStarted.

         CREATE TABLE my_table (field1 string, field2          


        
4条回答
  •  刺人心
    刺人心 (楼主)
    2021-01-02 22:21

    1. First of all you have to validate your json file on http://jsonlint.com/ after that make your file as one row per line and remove the [ ]. the comma at the end of the line is mandatory.

      [{"field1":"data1","field2":100,"field3":"more data1","field4":123.001}, {"field1":"data2","field2":200,"field3":"more data2","field4":123.002}, {"field1":"data3","field2":300,"field3":"more data3","field4":123.003}, {"field1":"data4","field2":400,"field3":"more data4","field4":123.004}]

    2. In my test I added hive-json-serde-0.2.jar from hadoop cluster , I think hive-json-serde-0.1.jar should be ok.

      ADD JAR hive-json-serde-0.2.jar;

    3. Create your table

      CREATE TABLE my_table (field1 string, field2 int, field3 string, field4 double) ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.JsonSerde' ;

    4. Load your Json data file ,here I load it from hadoop cluster not from local

      LOAD DATA INPATH 'Test2.json' INTO TABLE my_table;

    My test

提交回复
热议问题