运行 PySpark DataFrame 上的 sql 查询
Run a sql query on a PySpark DataFrame
我正在使用 Databricks 并且我已经加载了一些 DataTables。
但是,我有一个复杂的 SQL 查询,我想对这些数据表进行操作,我想知道我是否可以避免在 pyspark 中翻译它。
这可能吗?
举个例子:
在SQL中:
with table2 as (
select column1, column1
from database.table1
where
start_date <= DATE '2019-03-01' and
end_date >= DATE '2019-03-31' )
在 pyspark 中,我已经加载了 table1
,但以下内容不起作用,因为它找不到 table1
。
query = "(
select column1, column1
from table1
where
start_date <= DATE '2019-03-01' and
end_date >= DATE '2019-03-31' )"
table2 = spark.sql(query)
谢谢
尝试在查询中给出 databasename.tablename
而不是 tablename
。
query = "(
select column1, column1
from *database_name.table_name*
where
start_date <= DATE '2019-03-01' and
end_date >= DATE '2019-03-31' )"
如果您使用的是pyspark
,那么它必须是
pyspark.sql(query)
我正在使用 Databricks 并且我已经加载了一些 DataTables。
但是,我有一个复杂的 SQL 查询,我想对这些数据表进行操作,我想知道我是否可以避免在 pyspark 中翻译它。
这可能吗?
举个例子:
在SQL中:
with table2 as (
select column1, column1
from database.table1
where
start_date <= DATE '2019-03-01' and
end_date >= DATE '2019-03-31' )
在 pyspark 中,我已经加载了 table1
,但以下内容不起作用,因为它找不到 table1
。
query = "(
select column1, column1
from table1
where
start_date <= DATE '2019-03-01' and
end_date >= DATE '2019-03-31' )"
table2 = spark.sql(query)
谢谢
尝试在查询中给出 databasename.tablename
而不是 tablename
。
query = "(
select column1, column1
from *database_name.table_name*
where
start_date <= DATE '2019-03-01' and
end_date >= DATE '2019-03-31' )"
如果您使用的是pyspark
,那么它必须是
pyspark.sql(query)