apache-spark - 从 spark 目录中获取表名
问题描述
我有一个 DataSourceV2Relation 对象,我想从 spark 目录中获取其表的名称。spark.catalog.listTables()
将列出所有表,但是有没有办法直接从对象中获取特定表?
解决方案
PySpark
from pyspark.sql.catalog import Table
def get_t_object_by_name(t_name:str, db_name='default') -> Table:
catalog_t_list = spark.catalog.listTables('default')
return next((t for t in catalog_t_list if t.name == t_name), None)
调用为:get_t_object_by_name('my_table_name')
结果示例:Table(name='my_table_name', database='default', description=None, tableType='MANAGED', isTemporary=False)
表类定义:https ://spark.apache.org/docs/2.3.0/api/java/org/apache/spark/sql/catalog/Table.html
推荐阅读
- css - 如何使用 CSS 隐藏类中的特定文本?
- python - Python 到 SQL 连接。试图将熊猫数据框推送到 SQL Server
- react-native - 在 React Native 中从 fetch 中导出 JSON
- laravel - 尝试将添加到购物车的项目添加到导航栏
- layout - 程序忽略了 setPreferredSize 的使用
- java - Selenium 使窗口失焦
- python-3.x - 测试进行网络往返的单个 DAG
- c# - 是否可以使用 C# 在 iTunes 中打开电影?
- verilog - 红色输出线 - Verilog 模拟
- hyperledger-fabric - Hyperledger Fabric:“orderer1-ord”的注册在隶属关系验证中失败:无法获得隶属关系“ord.OU”::