繁体   English   中英

在Scala中将CSV文件转换为AVRO

[英]Convert CSV file to AVRO in scala

我是scala的新手。 我正在尝试将CS​​V文件转换为Avro格式。 我试图用谷歌搜索这个,却找不到任何东西。 我给了我的示例输入文件使用和AVSC格式(再次从谷歌)。

{"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")

像其他测试一样,只有您可以在python上使用此脚本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM