web-dev-qa-db-ja.com

Spark SQLのリストからデータフレームを作成するには?

Sparkバージョン:2.1

たとえば、pysparkでは、リストを作成します

test_list = [['Hello', 'world'], ['I', 'am', 'fine']]

次に、test_listからデータフレームを作成する方法。データフレームのタイプは以下のとおりです。

DataFrame[words: array<string>]

16
Liangju Zeng

ここに方法があります-

from pyspark.sql.types import *

cSchema = StructType([StructField("WordList", ArrayType(StringType()))])

# notice extra square brackets around each element of list 
test_list = [['Hello', 'world']], [['I', 'am', 'fine']]

df = spark.createDataFrame(test_list,schema=cSchema) 
22
Pushkr

私は複数の列と型で作業しなければなりませんでした-以下の例には、1つの文字列列と1つの整数列があります。 Pushkrのコード(上記)をわずかに調整すると、次のようになります。

from pyspark.sql.types import *

cSchema = StructType([StructField("Words", StringType())\
                      ,StructField("total", IntegerType())])

test_list = [['Hello', 1], ['I am fine', 3]]

df = spark.createDataFrame(test_list,schema=cSchema) 

出力:

 df.show()
 +---------+-----+
|    Words|total|
+---------+-----+
|    Hello|    1|
|I am fine|    3|
+---------+-----+
9
Grant Shannon

データフレームを作成するには、Rowオブジェクトのリスト([Row])を使用する必要があります。

from pyspark.sql import Row

spark.createDataFrame(list(map(lambda x: Row(words=x), test_list)))
3
hamza tuna