の列から特定のフィールドを取得する私はこのような構造を持つデータフレームを持っている:私は、データフレーム内のすべての行からすべてのnpaNumber
を取得したいスパークDATAFRAME - どのように行
root
|-- npaDetails: struct (nullable = true)
| |-- additionalInformation: struct (nullable = true)
| |-- npaStatus: struct (nullable = true)
| |-- npaDetails: struct (nullable = true)
|-- npaHeaderData: struct (nullable = true)
| |-- npaNumber: string (nullable = true)
| |-- npaDownloadDate: string (nullable = true)
| |-- npaDownloadTime: string (nullable = true)
。
データフレーム内のすべての行を繰り返し処理して、npaHeaderData
列に格納されている値をそれぞれフィールドnpaNumber
に抽出しました。だから私は、次の行をコーディング:各反復で印刷された列の
parquetFileDF.foreach { newRow =>
//To retrieve the second column
val column = newRow.get(1)
//The following line is not allowed
//val npaNumber= column.getAs[String]("npaNumber")
println(column)
}
内容は次のようになります。
[207400956,27FEB17,09.30.00]
しかしcolumn
であります任意のフィールドを抽出できません。私が間違ってやっていることを誰かが教えてもらえますか、これの代わりにどのようなアプローチをとるべきですか
おかげ
で、あなたに新しいデータフレームを与えるたデータフレームに
select()
を呼び出すことができますが、複数列のデータフレームから1列でデータフレームを取得したいか、ポイントということはありますか? –@MehdiBenHamida私のアルゴリズムの最初のステップでは、その値を将来の参照のための参照として使用するので、カラムから1つのフィールドを取得する必要があります。だから私はすべての列を保持する必要があります。しかし、このステップでは、私の2番目の列だけを選択することができます。 –