0
私はSparkの初心者です(1ヶ月以内!)固定幅のフラットファイルの生データ入力を扱っています。私は、sqlContextを使用して、com.databricks.spark.csvを使用してファイルを読み込み、.withColumnを使用して、設定された幅に基づいて行を部分文字列にします。固定幅ファイルの読み込み
rawData.withColumn("ID"), trim(rawData['c0'].substr(1,8)))
私が直面している問題は、最後のフィールドが可変幅であることです。それは固定開始点を持っていますが、20文字幅のようなデータの「セット」の可変数です。例えば
Row 1 A 1243 B 42225 C 23213
Row 2 A 12425
Row 3 A 111 B 2222 C 3 D 4 E55555
だから、僕は可変幅の列内の各グループの最初の文字を引き出し、その後、出力が見えるように移調、最終的にこれらの変数のフィールドに読み取る必要があるように:
Row 1 A
Row 1 B
Row 1 C
Row 2 A
...
Row 3 D
Row 3 E
私は必要な固定幅の列を読みましたが、可変幅のフィールドに固定されています。
の行にデータを転置するのを助けることができます。 – Abhi