SparkSQL#
- class langchain_community.utilities.spark_sql.SparkSQL(spark_session: SparkSession | None = None, catalog: str | None = None, schema: str | None = None, ignore_tables: List[str] | None = None, include_tables: List[str] | None = None, sample_rows_in_table_info: int = 3)[source]#
SparkSQL 是一个用于与 Spark SQL 交互的工具类。
初始化一个SparkSQL对象。
- Parameters:
spark_session (可选[SparkSession]) – 一个 SparkSession 对象。 如果未提供,将创建一个。
catalog (可选[str]) – 要使用的目录。 如果未提供,将使用默认目录。
schema (Optional[str]) – 要使用的模式。 如果未提供,将使用默认模式。
ignore_tables (Optional[List[str]]) – 要忽略的表列表。 如果未提供,将使用所有表。
include_tables (Optional[List[str]]) – 要包含的表格列表。 如果未提供,将使用所有表格。
sample_rows_in_table_info (int) – 包含在表信息中的行数。默认为3。
方法
__init__
([spark_session, catalog, schema, ...])初始化一个SparkSQL对象。
from_uri
(database_uri[, engine_args])通过Spark连接创建远程Spark会话。
get_table_info
([table_names])get_table_info_no_throw
([table_names])获取指定表的信息。
获取可用表的名称。
run
(command[, fetch])run_no_throw
(command[, fetch])执行一个SQL命令并返回表示结果的字符串。
- __init__(spark_session: SparkSession | None = None, catalog: str | None = None, schema: str | None = None, ignore_tables: List[str] | None = None, include_tables: List[str] | None = None, sample_rows_in_table_info: int = 3)[source]#
初始化一个SparkSQL对象。
- Parameters:
spark_session (可选[SparkSession]) – 一个 SparkSession 对象。 如果未提供,将创建一个。
catalog (可选[str]) – 要使用的目录。 如果未提供,将使用默认目录。
schema (Optional[str]) – 要使用的模式。 如果未提供,将使用默认模式。
ignore_tables (Optional[List[str]]) – 要忽略的表列表。 如果未提供,将使用所有表。
include_tables (Optional[List[str]]) – 要包含的表格列表。 如果未提供,将使用所有表格。
sample_rows_in_table_info (int) – 包含在表信息中的行数。默认为3。
- classmethod from_uri(database_uri: str, engine_args: dict | None = None, **kwargs: Any) SparkSQL [source]#
通过Spark连接创建远程Spark会话。 例如:SparkSQL.from_uri(“sc://localhost:15002”)
- Parameters:
database_uri (str)
engine_args (dict | None)
kwargs (Any)
- Return type:
- get_table_info(table_names: List[str] | None = None) str [source]#
- Parameters:
table_names (List[str] | None)
- Return type:
字符串
- get_table_info_no_throw(table_names: List[str] | None = None) str [source]#
获取有关指定表的信息。
遵循最佳实践,如Rajkumar等人在2022年所指定的: (https://arxiv.org/abs/2204.00498)
如果sample_rows_in_table_info,指定的样本行数将被附加到每个表的描述中。如论文所示,这可以提高性能。
- Parameters:
table_names (列表[字符串] | 无)
- Return type:
字符串
使用 SparkSQL 的示例