spark&hive--练习2

需求:

在hive中创建对应表,并且导入数据,使用spark完成对应的查询

stu_name course score

张三 语文 98

张三 数学 95

张三 英语 89

李四 语文 97

李四 数学 88

李四 英语 90

1.hive建表语句,导入数据语句,从linux文件系统导入

2.使用sparksql查询上述表,期望结果如下,并且将计算结果添加到mysql

name 语文 数学 英语

张三 98 95 89

李四 97 88 90

1.hive建表语句,导入数据语句,从linux文件系统导入

sql 复制代码
create table student(
   stu_name   string,
   course     string,
   score      int
)
row format delimited
fields terminated by ',';

load data local inpath '/root/stu.txt' into table student;

select * from default.student;

2.使用sparksql查询上述表,期望结果如下,并且将计算结果添加到mysql

【注:表名前边加上数据库。如:default.student】

python 复制代码
from pyspark.sql import SparkSession

if __name__ == '__main__':
    spark = SparkSession.builder \
        .appName("测试") \
        .config("hive.metastore.uris", 'thrift://hadoop11:9083') \
        .enableHiveSupport() \
        .getOrCreate()


    df = spark.sql("""
        select stu_name,
               max(case when course='语文' then score else null end) chinese,
               max(case when course='数学' then score else null end) math,
               max(case when course='英语' then score else null end) english
        from default.student
        group by stu_name
    """)

    props = {'user': 'root', 'password': '123456', 'driver': 'com.mysql.jdbc.Driver'}
    df.write.jdbc(url='jdbc:mysql://hadoop11:3306/test1', table='df_student', properties=props)

    spark.stop()

sql结果:

相关推荐
Aision_1 小时前
从工具调用到 MCP、Skill完整学习记录
java·python·gpt·学习·langchain·prompt·agi
2301_809204706 小时前
JavaScript中严格模式use-strict对引擎解析的辅助.txt
jvm·数据库·python
zjy277776 小时前
mysql如何选择合适的索引类型_mysql索引设计实战
jvm·数据库·python
Aaswk6 小时前
Java Lambda 表达式与流处理
java·开发语言·python
万邦科技Lafite7 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
青岛前景互联信息技术有限公司7 小时前
OpenClaw 重构智慧消防:AI时代的平台融合实践
大数据·人工智能
Cyber4K8 小时前
【Python专项】进阶语法-系统资源监控与数据采集(1)
开发语言·python·php
梦梦代码精8 小时前
BuildingAI 上部署自定义工作流智能体:5 个实用技巧
大数据·人工智能·算法·开源软件
极客老王说Agent8 小时前
2026智造前瞻:实在Agent生产排期智能助理核心功能与使用方法详解
大数据·人工智能·ai·chatgpt
苍煜9 小时前
Java开发IO零基础吃透:BIO、NIO、同步异步、阻塞非阻塞
java·python·nio