1
膨大なオーダーのCSVファイル(5GB)を処理したいと思います。ファイルの先頭にいくつかのメタデータ行があります。 ヘッダー列は行4(「h」で始まる)に続いて、オプション性を説明する別のメタデータ行が続きます。データ行はApache Spark Dataframe - CSVファイルのn番目の行からデータを読み込みます。
m,Version,v1.0
m,Type,xx
m,<OtherMetaData>,<...>
h,Col1,Col2,Col3,Col4,Col5,.............,Col100
m,Mandatory,Optional,Optional,...........,Mandatory
d,Val1,Val2,Val3,Val4,Val5,.............,Val100
は、ファイルをロードするときに指定した行数をスキップして、データセットのための「inferSchema」オプションを使用することは可能です「D」で始まりますか?
Dataset<Row> df = spark.read()
.format("csv")
.option("header", "true")
.option("inferSchema", "true")
.load("\home\user\data\20170326.csv");
それとも私は2つの異なるデータセットを定義し、無視する行とのデータセットを除外するために、「(他のデータセット)を除いて」を使用する必要がありますか?