в настоящее время генерируются два файла avro для файла размером 10 КБ. Если я последую за тем же самым с моим настоящим файлом (30 МБ +), я получу n файлов.
, поэтому нужно решение для создания только одного или двух файлов .avro, даже если исходный файл большой.
Также есть ли способ избежать ручного объявления имен столбцов.
текущий подход ...
spark-shell - пакеты com.databricks: spark-csv_2.10: 1.5.0, com.databricks: spark-avro_2.10: 2.0.1
import org.apache.spark.sql.types. {StructType, StructField, StringType}
// Ручное объявление схемы имен и типов столбцов 'co' и 'id'
val customSchema = StructType (Array (
StructField ("ind", StringType, true),
StructField ("co", StringType, true)))
val df = sqlContext.read.format ("com.databricks.spark.csv"). Option ("comment", "\" "). Option (" quote "," | "). Schema (customSchema) .load ( "/ TMP / file.txt")
df.write.format ( "com.databricks.spark.avro"). Сохранить ( "/ TMP / avroout")
// Примечание: /tmp/file.txt - это входной файл / dir, а / tmp / avroout - это выходной каталог