我想在数据帧上运行 sql 查询,但我是否必须在此数据帧上创建 View ? 有没有更简单的方法?
df = spark.createDataFrame([
('a', 1, 1), ('a',1, None), ('b', 1, 1),
('c',1, None), ('d', None, 1),('e', 1, 1)
]).toDF('id', 'foo', 'bar')
和查询我想针对这个数据帧运行一些复杂的查询。 例如 我能做到
df.createOrReplaceTempView("temp_view")
df_new = pyspark.sql("select id,max(foo) from temp_view group by id")
但是在查询之前我是否必须先将其转换为 View ? 我知道有一个数据帧等效操作。 上述查询只是一个示例。
最佳答案
你可以这样做
df.select('id', 'foo')
这将返回一个新的 Spark DataFrame,其中包含 id
和 foo
列。
关于pyspark - 通过 Pyspark 在数据帧上运行 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72249387/