これはなに?
DatabricksでXMLをソースとしてデータ分析するために、DatabricksでXMLを読み込むための手順。
Sparkのライブラリインストールから、XMLファイルをSparkのデータフレームに格納するところまで。
環境
- プラットフォーム: Azure
手順
SparkでXMLファイルを扱えるようにするためには、”spark-xml” というSparkのライブラリをクラスタにインストールする必要があります。
spark-xml をDatabricksに取り込む方法は2つ
- Import Library - Marvenより、spark-xmlの取り込み
- JARファイルを外部より取得し、 Import Library - Uploadよりspark-xmlの取り込み
Import Library - Marvenより、spark-xmlの取り込み
Import Library - Marvenを選択し、”spark-xml”を検索すると利用可能なライブラリが表示されます。
2020年9月時点では、scalaの2.10,2.11に対応した”spark-xml” をインポートできます。
JARファイルを外部より取得し、 Import Library - Uploadよりspark-xmlの取り込み
最新のDatabricks Runtime Versionを利用しているとImport LibraryのSearchで対応しているモジュールのバージョンが表示されない場合があります。
その場合は、Mavenより直接JARファイルをダウンロードし、 Import Library - UploadでJARを指定してあげればインストール可能です。
spark-xmlのレポジトリ mvnrepository.com
クラスタへライブラリのインストール
取り込んだライブラリの画面で、インストール対象のクラスタを選択し、 「Install」を実行。
インストールが完了するとStatusが「Installed」になり、クラスタで実行しているNotebookよりspark-xmlが利用できるようになります。
動作確認
◇サンプルデータXML
<?xml version="1.0" encoding="utf-8"?> <dependency> <groupId>com.databricks</groupId> <artifactId>spark-xml_2.11</artifactId> <version>0.6.0</version> </dependency>
◇コマンド
df = spark.read.format('xml').option("rootTag", "dependency").load("dbfs:/FileStore/shared_uploads/sample.xml") df.show()
◇実行結果
SparkでXMLをデータフレームに取り込むことができました。