Spark 读取 Clickhouse
时间: 2025-01-03 16:11:19 浏览: 40
### 使用 Apache Spark 连接并读取 ClickHouse 数据
为了连接并读取 ClickHouse 中的数据,可以利用 `spark-clickhouse-connector` 工具。此工具基于 DataSourceV2 API 构建[^3]。
加载必要的配置文件以及初始化 SparkSession 是第一步操作:
```python
from pyspark.sql import SparkSession
spark = (SparkSession.builder
.appName("ClickHouseExample")
.config("spark.jars.packages", "ru.yandex.clickhouse:clickhouse-jdbc:0.3.2-patch7") # 添加依赖包
.getOrCreate())
```
定义用于访问 ClickHouse 的参数设置如下所示:
```python
options = {
'driver': 'ru.yandex.clickhouse.ClickHouseDriver',
'url': 'jdbc:clickhouse://<host>:8123/<database>', # 替换 <host> 和 <database>
'dbtable': '<your_table_name>', # 替换表名
'user': '<username>', # 用户名
'password': '<password>' # 密码
}
```
创建 DataFrame 来表示来自 ClickHouse 表中的数据集,并执行查询语句获取所需的结果集:
```python
df = spark.read.format('jdbc').options(**options).load()
df.show() # 展示部分记录以便验证是否成功读取到数据
```
上述代码片段展示了如何使用 PySpark 结合 JDBC 接口实现与 ClickHouse 数据库之间的交互过程[^1]。
阅读全文
相关推荐



















