2017-10-10 10 views
1

私はハイブと一緒に作業しています。データをjson-formatで追加する必要があります。私はhttps://github.com/rcongiu/Hive-JSON-Serdeライブラリを使用しています。ファイルからハイブでデータをロードします。Hive-JSON-SerDeでデータクエリを追加

~$ cat test.json 

{"text":"foo","number":123} 
{"text":"bar","number":345} 

$ hadoop fs -put -f test.json /user/data/test.json 

$ hive 

hive> CREATE DATABASE test; 

hive> CREATE EXTERNAL TABLE test (text string) 
     ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' 
     LOCATION '/user/data'; 

hive> SELECT * FROM test; 
OK 

foo 123 
bar 345 

しかし、私はのようなクエリからの負荷データ、必要:

これを行う方法を知っている
insert into table test values {"text": "abc", number: 666} 

を?

答えて

0

SerDeは実際には、データを含むファイルからデータを読み取る外部テーブルでの使用を意図しています。したがって、例としてjsonデータと挿入クエリを直接挿入するのに役立つわけではありません。 hdfs上のファイルにデータを書き込んで、そのファイルが入っているフォルダに外部テーブルを作成するか、入力データを解析して列として挿入できるようにすることをお勧めします。

関連する問題