2017-08-09 3 views
0

Ich habe folgenden Python/Pyspark Code:Konvertieren von String-Liste zu Python Datenrahmen - pyspark Python sparksql

sql_command = ''' query '''' 
df = spark.sql(sql_command) 
ls_colnames = df.schema.names 
ls_colnames 
    ['id', 'level1', 'level2', 'level3', 'specify_facts'] 

cSchema = StructType([ 
    StructField("colname", StringType(), False) 
    ]) 
df_colnames = spark.createDataFrame(dataset_array,schema=cSchema) 

File "/opt/mapr/spark/spark-2.1.0/python/pyspark/sql/types.py", line 1366, in _verify_type raise TypeError("StructType can not accept object %r in type %s" % (obj, type(obj))) TypeError: StructType can not accept object 'id' in type class 'str'

Was kann ich einen Funken Gegenstand der COLNAMES erhalten tun? `

Antwort

0

Nicht sicher, ob ich Ihre Frage richtig verstanden habe. Wenn Sie jedoch versuchen, einen Datenrahmen basierend auf der angegebenen Liste zu erstellen, können Sie den folgenden Code verwenden.

from pyspark.sql import Row 
l = ['id', 'level1', 'level2', 'level3', 'specify_facts'] 
rdd1 = sc.parallelize(l) 
row_rdd = rdd1.map(lambda x: Row(x)) 
sqlContext.createDataFrame(row_rdd,['col_name']).show() 

Ich hoffe, es hilft.

Grüße,

Neeraj

Verwandte Themen