在列表中创建 Spark 数据框后如何使用它们?
Posted
技术标签:
【中文标题】在列表中创建 Spark 数据框后如何使用它们?【英文标题】:How to work with Spark dataframes after creating them in a list? 【发布时间】:2019-07-14 11:04:37 【问题描述】:我在一个循环中创建了多个 spark 数据帧。但由于某种原因,我无法使用它们。
genreslist = ['unknown', ... ,'Western']
from pyspark.sql.types import StructType, StructField, IntegerType, StringType, LongType
schema = StructType([StructField("movie_id",LongType(),True)...StructField("Western",LongType(),True)])
d =
for name in genreslist:
d[name] = spark.createDataFrame([], schema)
这是带有数据框的列表:
d
'Action': DataFrame[movie_id: bigint, ..., Western: bigint],
...
'unknown': DataFrame[movie_id: bigint, ..., Western: bigint]
但我不能完全使用数据框,例如:
Action.printSchema()
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-54-d2848cc5d13e> in <module>()
----> 1 Action.printSchema()
NameError: name 'Action' is not defined
看来我需要以某种方式“激活”这些数据帧。
【问题讨论】:
【参考方案1】:我发现了问题。 在这种情况下使用数据框的正确方法:
df['Action'].printSchema()
root
|-- movie_id: long (nullable = true)
...
|-- Western: long (nullable = true)
【讨论】:
以上是关于在列表中创建 Spark 数据框后如何使用它们?的主要内容,如果未能解决你的问题,请参考以下文章