3
我正嘗試加載接近1000條記錄的現場催化劑數據。如下所示的代碼我使用:有沒有辦法將超過255列加載到Spark Dataframe?
from pyspark.sql.types import *
from pyspark.sql import Row
sqlContext = SQLContext(sc)
omni_rdd = sc.textFile('hdfs://user/temp/sitecatalyst20170101.gz')
omni_rdd_delim = omni_rdd.map(lambda line: line.split("\t"))
omni_df = omni_rdd_delim.map(lambda line: Row(
col_1 = line[0]
, col_2 = line[1]
, col_3 = line[2]
, ..
, ..
, col_999 = line[998]
)).toDF()
我來跨越以下錯誤:
File "<stdin>", line 2
SyntaxError: more than 255 arguments
有沒有什麼方法可以讓我所有的1000列加載到數據幀我?
-V
它一個很好的答案使用它。 –
這會導致以下錯誤:** Traceback(最近呼叫的最後一個): 文件「」,第1行,在 文件「/opt/spark/python/pyspark/sql/context.py」,第64行,在toDF return sqlContext.createDataFrame(self,schema,sampleRatio) 文件「/opt/spark/python/pyspark/sql/context.py」,第423行,在createDataFrame中 rdd,schema = self._createFromRDD(data,模式,samplingRatio) 文件 「/opt/spark/python/pyspark/sql/context.py」,線315,在_createFromRDD struct.fields [I]。名稱=名 IndexError:列表索引超出範圍** 任何想法如何我們可以糾正這? –
user2738809