pyspark 如何在增量表上运行sql查询

fivyi3re  于 2023-04-19  发布在  Spark
关注(0)|答案(3)|浏览(97)

我对delta lake文档有问题。我知道我可以用presto,hive,spark sql和其他工具查询delta表,但在delta的文档中提到“您可以通过指定表名或路径将Delta表加载为DataFrame”

但是不清楚。我怎么能这样运行sql查询呢?

wmomyfyw

wmomyfyw1#

使用spark.sql()函数

spark.sql("select * from delta.`hdfs://192.168.2.131:9000/Delta_Table/test001`").show()
odopli94

odopli942#

虽然@OneCricketeer的答案有效,但您也可以将delta表读取到df,然后从中创建TempView并查询该视图:

df = spark.read.load(table_path)
df.createOrReplaceTempView('delta_table_temp')
df1 = spark.sql('select * from delta_table_temp')
df1.show(10, False)
gkl3eglg

gkl3eglg3#

要从DeltaLake中的表中读取数据,可以使用Java API或Python**,而不使用Apache Spark**。详情请参阅:https://databricks.com/blog/2020/12/22/natively-query-your-delta-lake-with-scala-java-and-python.html
查看如何使用Pandas:

pip3 install deltalake
python3
from deltalake import DeltaTable
table_path = "/opt/data/delta/my-table" # whatever table name and object store
# now using Pandas
df = DeltaTable(table_path).to_pandas()
df

相关问题