我需要使用SQL将一些数据读入Spark。由于性能原因,该查询实际上需要一个临时表。当我尝试使用如下所述的包含临时表的查询时,尽管如此,spark坚持认为存在语法错误,即使事实并非如此。
例如,这可以正常工作:
Public abstract class Creator
Product product;
public void doSomething(){
this.product.doSomethingElse();
}
}
但这会返回错误:
# pre-emptive stuff that loads connection parameters and whatnot
query = """
select top 50
*
from DW.Dim.Sales
"""
df = spark.read\
.format("jdbc")\
.option("url",url)\
.option("query",query)\
.option("user",'svcDataBricks_DEV')\
.option("password",sql_password)\
.load()
具体是这个错误:
com.microsoft.sqlserver.jdbc.SQLServerException:关键字“ into”附近的语法不正确。
我想问题是query = """
select top 50
*
into #MyData
from DW.Dim.Sales
"""
df = spark.read\
.format("jdbc")\
.option("url",sql_password)\
.load()
并非旨在执行任何类型的写操作,但是文档有些不透明,所以我不太清楚如何实现此功能。