python使用pyspark链接远程hive数据库,并读取多段SQL语句获得多个数据
时间: 2024-03-28 10:41:21 浏览: 164
在python中使用pyspark读写Hive数据操作
5星 · 资源好评率100%
可以使用 PySpark 中的 SparkSession 和 SparkSQL 来连接远程的 Hive 数据库,并执行多段 SQL 语句获取多个数据。
以下是一个简单的示例代码:
```python
from pyspark.sql import SparkSession
# 创建 SparkSession
spark = SparkSession.builder.appName("Python Spark Hive example").enableHiveSupport().getOrCreate()
# 设置远程 Hive 数据库的连接信息
hive_host = 'your_hive_host'
hive_port = 'your_hive_port'
hive_db = 'your_hive_db'
hive_user = 'your_hive_user'
hive_password = 'your_hive_password'
# 构建 JDBC 连接字符串
jdbc_url = f"jdbc:hive2://{hive_host}:{hive_port}/{hive_db}"
connectionProperties = {
"user": hive_user,
"password": hive_password,
"driver": "org.apache.hive.jdbc.HiveDriver"
}
# 执行多段 SQL 语句获取多个数据
sql_list = [
"SELECT * FROM table1",
"SELECT * FROM table2",
"SELECT * FROM table3"
]
for sql in sql_list:
df = spark.read.jdbc(url=jdbc_url, table=sql, properties=connectionProperties)
df.show()
```
这段代码会连接到远程 Hive 数据库,执行多段 SQL 语句,并且依次输出每个 SQL 语句查询得到的结果。注意需要将上述代码中的 `your_hive_host`、`your_hive_port`、`your_hive_db`、`your_hive_user`、`your_hive_password` 替换为实际的 Hive 数据库连接信息。
阅读全文