2017-08-31 3 views
0

列ヘッダーを保持:スカラDataFrameReader次のコードは、ScalaでデータフレームにCSVを読み取る

val mDF: DataFrame = spark.read.csv("src/test/resources/knimeMerged.csv") 

しかし、データ列としてインポートされたデータの最初の行を処理します。実際、最初の行はヘッダーです。

私はcsvファイルのヘッダーのインポートを許可するオプションがありますが、Scala APIドキュメントでそれを見つけることはできないと思います(私は新しくなっていますスカラーとそのドキュメンテーションへ)。

任意のヒント

はオプションが何であるかの両方をいただければ幸いと

答えて

3

それを処理するためのオプションがheaderで実装する方法。 headerが真として動作します設定:

val mDF: DataFrame = spark.read.option("header", true).csv("src/test/resources/knimeMerged.csv") 
+1

あなたは答えを受け入れる必要があります@ジェイク –

1

あなたはこのようなtrue ものとして値をcsvメソッドを使用する前に、オプションheaderを追加することができます。

val df = spark.read.option("header","true").option("inferSchema","true").csv("src/test/resources/knimeMerged.csv") 

また、inferSchemaという新しいオプションを追加しました。

inferSchemaをオプションとして使用すると、sparkが列の種類を指定しようとします。 sparkスキーマを推測しようとします。つまり、一部の列のデータ型がIntの場合、この情報がCSVのスキーマに追加されます。

両方のオプションを使用すると、CSVファイルに関するメタデータが改善されます。

+1

これは私が考え出したものです。感謝万円 – Jake

関連する問題