Итак, вот мой искровой код на 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 правильно работает с моей схемой и правильно отображает информацию, преобразуя пустые значенияк нулю.Однако, когда код достигает функции записи, я сталкиваюсь с ошибками, я предполагаю, что это из-за нулевых значений, но я не смог с этим справиться.
Можете ли вы, ребятапомогите мне с этим?
Вот ссылка на текст ошибки: https://shrib.com/#T.GjdcJbgl9tfEYAsxsV
Я новичок в StackOverflow как пользователь (я обычно нахожу свой ответ, скрываясь в форумах).).Если вам нужна дополнительная информация, пожалуйста, дайте мне знать, и я добавлю ее.