私は豚を使用してXMLを解析するためにのXPathを使用していますが、私のユースケースでは、私は、XMLファイル全体を解析し、ハイブテーブルに移動する必要があります。私はXPathを使ってXMLファイルを解析し、その解析されたデータをブタを使ってハイブテーブルに移動することを考えています。しかし、それを行うための他の方法はありますか?解析用XMLおよびストア
2
A
答えて
3
hivexmlserdeを使用して、HiveでXMLファイルを解析できます。
hivexmlserdeを使用して外部のHiveテーブルを作成し、すべてのxmlファイルをそのxmlの場所に配置します(すべてのxmlファイルは似ている必要があります)。このserdeを使用して、create table文で開始タグと終了タグを定義し、フェッチする属性のXPathを定義する必要があります。
下記の例をご覧ください。
add jar /home/udf_jars/hivexmlserde-1.0.5.3.jar;
CREATE EXTERNAL TABLE hive_test_xml(
col1 string,
col2 string,
col3 string
)
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
WITH SERDEPROPERTIES (
"column.xpath.col1"="/Books/col1/text()",
"column.xpath.col2"="/Books/col2/text()",
"column.xpath.col3"="/Books/col3/text()"
)
STORED AS
INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
LOCATION ' /user/user1/xml/data'
TBLPROPERTIES (
"xmlinput.start"="<Books",
"xmlinput.end"="</Books>");
は、より詳細な情報については、それについての詳細のためHive-XML-Optionsリンクをご覧ください。
更新:テーブルからデータを選択する方法。
クエリの前にhivexmlserde-1.0.5.3.jar
を追加する必要があります。下記の例をご覧ください。
hive> add jar /path/to/jar/hivexmlserde-1.0.5.3.jar;
Added [add jar /path/to/jar/hivexmlserde-1.0.5.3.jar] to class path
Added resources: [add jar /path/to/jar/hivexmlserde-1.0.5.3.jar]
hive> use mydatabase_name;
OK
Time taken: 0.021 seconds
hive> select * from xm_table;
また、このjarを永続的に設定して、クエリを実行する前に常に追加することを避けることもできます。以下のリンクに従ってください
関連する問題
- 1. XML解析(および検証)Cプログラムの解析
- 2. のNeo4j CYPHER解析および負荷XML
- 3. Ruby on RailsでX509証明書(およびストア情報)を解析する
- 4. 解析および保存するクラス
- 5. 解析、変更およびエリクシール
- 6. オーディオストリーミング、NSTimer、およびJSONシナリオの解析
- 7. DOM解析およびJavaScriptの実行
- 8. XMLファイルの解釈および操作
- 9. 解析用XML
- 10. 解析用XML
- 11. メモリーフェンス:取得/ロードおよび/ストアを解放
- 12. 解析用XMLエラー
- 13. 解析用XMLオブジェクト
- 14. ファイルパスにJavaおよびスペースを含むXMLファイルを解析する
- 15. 出力を処理するためのJSON/XML解析およびjQueryコールバック
- 16. *** Exception:Prelude.read:Haskellで構文解析をしない - 構文解析、式および再帰
- 17. XMLを解析して、XMLを解析する際のXMLの解析
- 18. AsyncTask/Androidを使用してGeonames XMLを取得および解析する方法
- 19. xmltextreaderまたはxmlreaderを使用してxmlファイルを解析および更新する方法
- 20. AppleScriptを使用してXMLファイルを取得および解析する方法は?
- 21. .NETおよびXMLファイル
- 22. C#XMLおよびListViesアプリケーション
- 23. Jquery、xmlおよび変数
- 24. AndroidおよびXMLマップ
- 25. 解析XMLファイル、
- 26. XMLフィード - 解析
- 27. XML解析
- 28. 解析XML
- 29. 解析ソープXML
- 30. XML DOM解析。
サンプルxmlファイルは提供できますか? –
@SandeepSingh実際に私の会社にとって機密であり、非常に機密性の高いデータを持っているので、共有できません。これを30000行のXMLデータと考えることができます。 – animal
私はそれを理解することができます。 HiveとXPathを使用してXMLファイルを解析できます。これらの情報に基づいて、私は1つの答えを提案することができます。下にそれを見てください。 –