我对delta lake文档有问题。我知道我可以用presto,hive,spark sql和其他工具查询delta表,但在delta的文档中提到“您可以通过指定表名或路径将Delta表加载为DataFrame”
但是不清楚。我怎么能这样运行sql查询呢?
wmomyfyw1#
使用spark.sql()函数
spark.sql()
spark.sql("select * from delta.`hdfs://192.168.2.131:9000/Delta_Table/test001`").show()
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)
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
3条答案
按热度按时间wmomyfyw1#
使用
spark.sql()
函数odopli942#
虽然@OneCricketeer的答案有效,但您也可以将delta表读取到df,然后从中创建TempView并查询该视图:
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: