在 Scala 中将 CSV 文件转换为 AVRO
Convert CSV file to AVRO in scala
我是 Scala 新手。我正在尝试将 CSV 文件转换为 avro 格式。我试图 google 关于这个但找不到任何东西。我已经给出了我使用的示例输入文件和 AVSC 格式(再次来自 google)。
{"namespace": "example.avro",
"type": "record",
"name": "User",
"fields": [
{"name": "name", "type": "string"},
{"name": "favorite_number", "type": ["int", "null"]},
{"name": "favorite_color", "type": ["string", "null"]}
]
}
示例文件:
name_1,12,yellow
name_2,22,red
name_3,32,green
此外,我怎样才能将其扩展为一个 Control A 分隔文件。
最明显的解决方案是使用数据块中的 spark-avro。
它看起来像这样:
import com.databricks.spark.avro._
import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder().master("local").getOrCreate()
val df = spark.read.format("csv").load("data.csv")
df.write.avro("converted.avro")
类似仅用于测试目的的替代方案,您可以使用 this script on python
我是 Scala 新手。我正在尝试将 CSV 文件转换为 avro 格式。我试图 google 关于这个但找不到任何东西。我已经给出了我使用的示例输入文件和 AVSC 格式(再次来自 google)。
{"namespace": "example.avro",
"type": "record",
"name": "User",
"fields": [
{"name": "name", "type": "string"},
{"name": "favorite_number", "type": ["int", "null"]},
{"name": "favorite_color", "type": ["string", "null"]}
]
}
示例文件:
name_1,12,yellow
name_2,22,red
name_3,32,green
此外,我怎样才能将其扩展为一个 Control A 分隔文件。
最明显的解决方案是使用数据块中的 spark-avro。 它看起来像这样:
import com.databricks.spark.avro._
import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder().master("local").getOrCreate()
val df = spark.read.format("csv").load("data.csv")
df.write.avro("converted.avro")
类似仅用于测试目的的替代方案,您可以使用 this script on python