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