0

Hive にロードしたい json レコードを含むテキスト ファイルがあります。私のjsonは次のようになります:

{"vr":1,"tm":1312816191516,"tms":"08-08-2011 15:09:51.516 GMT","as":1002,"pb":1102,"cts":[1204,1205],"ctgs":[1304,1305],"op":1400,"ev":2,"dv":1503,"dvgs":[1605,1606],"cnt":"cnt5","usr":"usr8","atts":[{"id":8002,"val":"ccc"},{"id":8003,"val":"ddd"}],"sel":{"cm":2102,"ty":"PRE","ag":3002,"ad":4002,"fl":5002,"fla":6002,"hg":7002,"mc":"WAP","pr":0.1}}

ご覧のとおり、プリミティブの配列とオブジェクトの配列を含むネストされた json があります。

組み込み関数を使用して Hive にそのままロードすることは可能ですか?

よし

4

3 に答える 3

1

そのままHiveにロードできるはずです。をエスケープする必要がある可能性があります"。JSONをハイブにロードしていないので、エスケープが必要な場合は100%ではありません。

ハイブに入ったJSON要素にアクセスするには; Hiveにはdoinh用の関数が組み込まれています。、 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-getjsonobjectget_json_objectで詳細を確認でき ます

于 2011-08-08T19:12:51.937 に答える
1

カスタム serde を使用して、json ファイルをハイブ テーブルに読み取ることができます。github で次の serde を参照してください - https://github.com/rcongiu/Hive-JSON-Serde

于 2012-06-26T22:34:39.617 に答える