私はCSV入力ファイルを持っています。タイプごとに2つのセットに列を分割する方法は?
これは、データをきちんと読み込み、スキーマを構築します。
次の手順では、列をString列とInteger列に分割します。どうやって?
- StringCols必要があります。私は2つの変数(StringCols、IntCols)にこれを分割したい
次は私のデータセットのスキーマであるならば...
scala> rawdata.printSchema root |-- ID: integer (nullable = true) |-- First Name: string (nullable = true) |-- Last Name: string (nullable = true) |-- Age: integer (nullable = true) |-- DailyRate: integer (nullable = true) |-- Dept: string (nullable = true) |-- DistanceFromHome: integer (nullable = true)
- IntColsには、「ID」、「年齢」、「DailyRate」、「DistanceFromHome」が含まれている必要があります。 「姓」「姓」「部」
これは私が試したものです:
val names = rawdata.schema.fieldNames
val types = rawdata.schema.fields.map(r => r.dataType)
を今types
に、私がループしたいと、すべてのStringType
を見つけると同様にIntegerType
のために、列名の名前にアップルックアップするでしょう。
私が見ていたことはありがとうございました。私がした間違いは、sql.typesを含まないことでした。{IntegerType、StringType} Iは以下となって空のリストをしていた ヴァルTST = rawdata.schema.filter(C => c.dataType == "StringType")代わり のヴァルTST = rawdata.schema.filter (c => c.dataType == StringType) ありがとうございます。 よろしくお願いいたします。 バラ –