我有两个数据源,都有相同的列。 id, product_name 以csv和json文件的形式出现。我希望合并这两个Dataframe并将它们写入Parquet文件中。在编写模式之前,先强制执行模式的好方法是什么?我读到parquet保留了原始数据的模式,但是我想在数据源有错误记录时捕捉错误,例如 id 字段应为int,但有字符串。非常感谢你的帮助。
id, product_name
id
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等价物
1条答案
按热度按时间gev0vcfq1#
您可以在scala中创建一个case类,并对rdd应用map操作,然后使用todf()将其转换为df。最后,您可以将df写入parquet文件。
上面的代码是scala格式的
scala case类的python等价物-scala case类的python等价物