这是我在python上的火花代码,我在后台运行hadoop时执行了该代码:
from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark.sql.types import *
if __name__ == "__main__":
sc = SparkContext(appName="CSV2Parquet")
sqlContext = SQLContext(sc)
schema = StructType([
StructField("ID", IntegerType(), True),
StructField("name", StringType(), True),
StructField("insert_timestamp_utc", TimestampType(), True),
StructField("value", DoubleType(), True)])
#rdd = sc.textFile("parquet-test-2.csv").map(lambda line: line.split(","))
#df = sqlContext.createDataFrame(rdd, schema)
df = sqlContext.read.csv("parquet-test-2.csv", header=True, sep=",", schema=schema)
df.show()
df.write.parquet('output-parquet')
show函数可以在我的模式下正常工作,并且可以正确显示信息,将空值转换为null。但是,当代码到达write函数时,我遇到了错误,我猜测是由于null值引起的,但我无法对其进行处理。
你们能帮我吗?
这里是有关错误文本的链接: https://shrib.com/#T.GjdcJbgl9tfEYAsxsV
我是一个不熟悉StackOverflow的用户(我通常通过潜入论坛找到答案)。如果您需要其他任何信息来帮助我,请告诉我,我将其添加。