pyspark将hive数据写入Excel文件中

不多解释直接上代码,少python包的自己直接下载

python 复制代码
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from pyspark.sql import SparkSession
import pandas as pd
import os

# 初始化 SparkSession 并启用 Hive 支持
spark = SparkSession.builder \
    .appName("select_hive_data_to_xlsx") \
    .master("yarn") \
    .config("spark.sql.warehouse.dir", "hdfs://1.1.1.1:4007/aaa/hive/warehouse") \
    .enableHiveSupport() \
    .config("spark.yarn.queue", "default") \
    .config("spark.executor.instances", "10") \
    .config("spark.executor.memory", "5g") \
    .config("spark.executor.cores", "4") \
    .config("spark.driver.memory", "6g") \
    .config("spark.driver.cores", "5") \
    .config("spark.hadoop.fs.defaultFS", "hdfs://1.1.1.1:4007") \
    .config("spark.hadoop.fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem") \
    .config("spark.hadoop.fs.file.impl", "org.apache.hadoop.fs.LocalFileSystem") \
    .config("spark.hadoop.fs.hdfs.impl.disable.cache", "true") \
    .getOrCreate()

# 读取 Hive 表
df = spark.sql("\
select \
col_1,col_2 \
from tmp.tmp_1")

# 将 DataFrame 写入 CSV
df.write.csv("hdfs://1.1.1.1:4007/data/tmp/tmp_1.csv", header=True)

# 读取 HDFS 上的 CSV 数据
df = spark.read.option("encoding", "utf-8").csv("hdfs://1.1.1.1:4007/data/tmp/tmp_1.csv", header=True, inferSchema=True)

# 将 Spark DataFrame 转换为 Pandas DataFrame
pandas_df = df.toPandas()

# 将 Pandas DataFrame 写入本地的 Excel 文件
pandas_df.to_excel("/data/tmp/tmp_1.xlsx", index=False)

# 停止 SparkSession
spark.stop()

创作不易,觉得还不错,辛苦给个点赞👍🏻,感谢~~

相关推荐
cheniie1 小时前
python xmlrpc踩坑记录
python·踩坑·xmlrpc
咖啡の猫3 小时前
搭建Python开发环境
开发语言·python
听风吟丶5 小时前
Java 8 Stream API 高级实战:从数据处理到性能优化的深度解析
开发语言·python
文人sec7 小时前
pytest1-接口自动化测试场景
软件测试·python·单元测试·pytest
secondyoung9 小时前
Mermaid流程图高效转换为图片方案
c语言·人工智能·windows·vscode·python·docker·流程图
nini_boom9 小时前
**论文初稿撰写工具2025推荐,高效写作与智能辅助全解析*
大数据·python·信息可视化
1***s6329 小时前
Python爬虫反爬策略,User-Agent与代理IP
开发语言·爬虫·python
咖啡の猫10 小时前
Python的自述
开发语言·python
重启编程之路11 小时前
python 基础学习socket -TCP编程
网络·python·学习·tcp/ip