ここで、spark を使用したデータ前処理のミニ チュートリアルに出くわしました: http://ampcamp.berkeley.edu/big-data-mini-course/featurization.html
ただし、これはテキストファイルの解析についてのみ説明しています。spark システムから xml ファイルを解析する方法はありますか?
ここで、spark を使用したデータ前処理のミニ チュートリアルに出くわしました: http://ampcamp.berkeley.edu/big-data-mini-course/featurization.html
ただし、これはテキストファイルの解析についてのみ説明しています。spark システムから xml ファイルを解析する方法はありますか?
誰かが apache-spark の xml データソースを作成したようです。
https://github.com/databricks/spark-xml
これは、タグを指定して型を推測することにより、XML ファイルの読み取りをサポートします。
import org.apache.spark.sql.SQLContext
val sqlContext = new SQLContext(sc)
val df = sqlContext.read
.format("com.databricks.spark.xml")
.option("rowTag", "book")
.load("books.xml")
spark-shell
以下のように使用することもできます。
$ bin/spark-shell --packages com.databricks:spark-xml_2.11:0.3.0
私はそれを自分で使用したことはありませんが、方法は Hadoop の場合と同じです。たとえば、 StreamXmlRecordReaderを使用して xml を処理できます。レコード リーダーが必要な理由は、処理される各要素のレコード境界を制御したいからです。それ以外の場合は、LineRecordReader を使用するため、デフォルトで使用される行が処理されます。Hadoop の recordReader の概念に慣れておくと役立ちます。
そしてもちろん、 InputFormatClass を渡すオプションを指定して SparkContext の hadoopRDD または hadoopFile メソッドを使用する必要があります。Java が優先言語である場合、同様の代替手段が存在します。