pyspark-如何保存模式

roqulrg3  于 2021-07-12  发布在  Spark
关注(0)|答案(1)|浏览(293)

我有两个数据源,都有相同的列。 id, product_name 以csv和json文件的形式出现。我希望合并这两个Dataframe并将它们写入Parquet文件中。在编写模式之前,先强制执行模式的好方法是什么?我读到parquet保留了原始数据的模式,但是我想在数据源有错误记录时捕捉错误,例如 id 字段应为int,但有字符串。非常感谢你的帮助。

gev0vcfq

gev0vcfq1#

您可以在scala中创建一个case类,并对rdd应用map操作,然后使用todf()将其转换为df。最后,您可以将df写入parquet文件。

Assuming you have data as:
1,x
2,y
3,z

case class demo(id Int, name String)
val df = rdd.map(_.split(",")).map(r=>demo(r(0).toInt,r(1))).toDF()
df.write.parquet("demo")

上面的代码是scala格式的
scala case类的python等价物-scala case类的python等价物

相关问题