CSV ファイルを寄木細工に変換しようとしていますが、これを達成するために Spark を使用しています。
SparkSession spark = SparkSession
.builder()
.appName(appName)
.config("spark.master", master)
.getOrCreate();
Dataset<Row> logFile = spark.read().csv("log_file.csv");
logFile.write().parquet("log_file.parquet");
問題は、スキーマが定義されておらず、列が次のようになっていることです (出力は、spark で printSchema() を使用して表示されます)。
root
|-- _c0: string (nullable = true)
|-- _c1: string (nullable = true)
|-- _c2: string (nullable = true)
....
csv の最初の行に名前がありますが、それらは無視されていると思います。問題は、文字列がいくつかの列だけであり、int と日付もあります。
私はSparkのみを使用しており、基本的にavroなどは使用していません(avroを使用したことはありません)。
スキーマを定義するためのオプションとその方法は? 別の方法で寄木細工のファイルを作成する必要がある場合、それが迅速で簡単な解決策である限り、問題はありません。
(私はテストに spark スタンドアロンを使用しています / scala を知りません)