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

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

相关推荐
用户8356290780512 小时前
使用 Python 自动化 PowerPoint 形状布局与格式设置
后端·python
用户8356290780514 小时前
用 Python 自动化 PowerPoint 演讲者备注添加
后端·python
黄忠10 小时前
01-系统架构设计-LangGraph状态机与多源异构RAG
python
zzzzzz31010 小时前
假如我是掘金管理员,我先给评论区装个'代码审查'系统
python·程序员·机器人
砍材农夫10 小时前
python环境|conda安装和使用(2)
后端·python
程序员龙叔1 天前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
用户8356290780511 天前
使用 Python 操作 Word 内容控件
后端·python
Non-existent9871 天前
WPS批量清理单元格空白字符的4种方法-异常数字格式处理-实战
excel·wps
码云骑士1 天前
32-慢查询排查全流程(下)-索引优化实战与最左前缀原则
python