Sparkバージョン:2.1
たとえば、pysparkでは、リストを作成します
test_list = [['Hello', 'world'], ['I', 'am', 'fine']]
次に、test_listからデータフレームを作成する方法。データフレームのタイプは以下のとおりです。
DataFrame[words: array<string>]
ここに方法があります-
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)
私は複数の列と型で作業しなければなりませんでした-以下の例には、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|
+---------+-----+
データフレームを作成するには、Rowオブジェクトのリスト([Row])を使用する必要があります。
from pyspark.sql import Row
spark.createDataFrame(list(map(lambda x: Row(words=x), test_list)))