下面是我在python上的spark代码,在后台运行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函数时,我遇到了错误,我猜这是由于空值造成的,但我还没能处理它。
你们能帮我吗?
以下是有关错误文本的链接:https://shrib.com/#t.gjdcjbgl9tfeyasxsv
我是stackoverflow的新用户(我通常通过潜伏在论坛中找到答案)。如果有任何其他信息,你需要帮助我这个,请让我知道,我会添加它。
暂无答案!
目前还没有任何答案,快来回答吧!