私は豚を使用して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. DOM解析およびJavaScriptの実行
- 5. オーディオストリーミング、NSTimer、およびJSONシナリオの解析
- 6. 解析および保存するクラス
- 7. XMLファイルの解釈および操作
- 8. 解析用XML
- 9. 解析用XML
- 10. メモリーフェンス:取得/ロードおよび/ストアを解放
- 11. 解析用XMLエラー
- 12. 出力を処理するためのJSON/XML解析およびjQueryコールバック
- 13. ファイルパスにJavaおよびスペースを含むXMLファイルを解析する
- 14. *** Exception:Prelude.read:Haskellで構文解析をしない - 構文解析、式および再帰
- 15. XMLを解析して、XMLを解析する際のXMLの解析
- 16. xmltextreaderまたはxmlreaderを使用してxmlファイルを解析および更新する方法
- 17. AppleScriptを使用してXMLファイルを取得および解析する方法は?
- 18. AsyncTask/Androidを使用してGeonames XMLを取得および解析する方法
- 19. AndroidおよびXMLマップ
- 20. Jquery、xmlおよび変数
- 21. C#XMLおよびListViesアプリケーション
- 22. .NETおよびXMLファイル
- 23. XML DOM解析。
- 24. XMLフィード - 解析
- 25. php xml解析
- 26. 解析XMLは
- 27. XML解析
- 28. XML解析+ iphone
- 29. 解析XML
- 30. NSXmlParser解析XML
サンプルxmlファイルは提供できますか? –
@SandeepSingh実際に私の会社にとって機密であり、非常に機密性の高いデータを持っているので、共有できません。これを30000行のXMLデータと考えることができます。 – animal
私はそれを理解することができます。 HiveとXPathを使用してXMLファイルを解析できます。これらの情報に基づいて、私は1つの答えを提案することができます。下にそれを見てください。 –