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()

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

相关推荐
Tansmjs3 分钟前
使用Python自动收发邮件
jvm·数据库·python
m0_561359675 分钟前
用Python监控系统日志并发送警报
jvm·数据库·python
idwangzhen19 分钟前
GEO优化系统哪个功能强大
python·信息可视化
许泽宇的技术分享39 分钟前
第 1 章:认识 Claude Code
开发语言·人工智能·python
AIFQuant1 小时前
如何利用免费股票 API 构建量化交易策略:实战分享
开发语言·python·websocket·金融·restful
布局呆星1 小时前
SQLite数据库的介绍与使用
数据库·python
2401_838472511 小时前
用Python和Twilio构建短信通知系统
jvm·数据库·python
weixin_452159551 小时前
如何从Python初学者进阶为专家?
jvm·数据库·python
Hello.Reader1 小时前
面向 403 与域名频繁变更的合规爬虫工程实践以 Libvio 系站点为例
爬虫·python·网络爬虫
深蓝海拓1 小时前
PySide6从0开始学习的笔记(二十五) Qt窗口对象的生命周期和及时销毁
笔记·python·qt·学习·pyqt