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