如何在Databricks Notebook中用Fugue加载Databricks表?
解决Databricks中用Fugue加载内部表的问题
方案1:PySpark加载后转Fugue DataFrame
既然你已经能用PySpark正常读取表,先通过Spark加载,再转为Fugue可处理的对象,后续操作完全用Fugue API:
import fugue.api as fa # 用PySpark读取Databricks表 spark_df = spark.read.table(f"{db_name_model_data}.{table_name_model_data}") # 转换为Fugue DataFrame fugue_df = fa.as_fugue_df(spark_df) # 示例:用Fugue操作数据 fa.show(fugue_df, engine="spark")
方案2:用FugueSQL直接执行Spark SQL
FugueSQL兼容Spark的SQL语法,可直接通过Spark引擎读取内部表:
from fugue import FugueSQLWorkflow table_full_name = f"{db_name_model_data}.{table_name_model_data}" with FugueSQLWorkflow(engine="spark") as dag: dag(f""" SELECT * FROM `{table_full_name}` PRINT -- 替换为你需要的Fugue操作 """)
问题原因
Fugue默认的load方法主要适配文件类数据源(如CSV、Parquet),无法直接解析Databricks内部表的命名格式(数据库.表名)。借助Spark本身的表读取能力,再对接Fugue的API,就能实现完全用Fugue处理数据的需求。
内容的提问来源于stack exchange,提问作者Juan Esteban Fonseca
相关产品推荐
相关产品推荐

