当前位置: 首页 > news >正文

Spark-SQL与Hive集成及数据分析实践

一、Spark-SQL连接Hive的配置

Spark-SQL支持与Hive无缝集成,可通过以下方式操作Hive:

1. 内嵌Hive:无需额外配置,直接使用,但生产环境不推荐。

2. 外部Hive:

   将`hive-site.xml`、`core-site.xml`、`hdfs-site.xml`复制到Spark的`conf/`目录。

   将MySQL驱动放入`jars/`目录,重启Spark服务即可连接Hive元数据。

3. 代码操作Hive:

   - 添加依赖`spark-hive`和`hive-exec`,配置`SparkSession`时启用Hive支持:

     ```scala

     val spark = SparkSession.builder()

         .enableHiveSupport()

         .config("spark.sql.warehouse.dir", "hdfs://node01:9000/user/hive/warehouse")

         .getOrCreate()

     ```

   若遇权限问题,可设置`System.setProperty("HADOOP_USER_NAME", "node01")`。

二、实验:统计有效数据及用户分布

实验目标

统计满足条件(uid、phone、addr均非空)的有效数据条数,并找出用户数量最多的前20个地址。

实现步骤

1. 数据预处理:

   使用`get_json_object`解析JSON格式数据,提取所需字段:

   ```sql

   SELECT

       get_json_object(json_column, '$.uid') AS uid,

       get_json_object(json_column, '$.phone') AS phone,

       get_json_object(json_column, '$.addr') AS addr

   FROM raw_table

   ```

2. 过滤有效数据:

   ```sql

   CREATE TEMPORARY VIEW valid_data AS

   SELECT * FROM parsed_table

   WHERE uid IS NOT NULL AND phone IS NOT NULL AND addr IS NOT NULL

   ```

3. 统计结果:

   - 有效数据总数:

     ```sql  

 

 

 

 

http://www.xdnf.cn/news/60139.html

相关文章:

  • 【C++游戏引擎开发】第18篇:视锥体裁剪与光源剔除
  • XMLXXE 安全无回显方案OOB 盲注DTD 外部实体黑白盒挖掘
  • 基于LangChain与Neo4j构建企业关系图谱的金融风控实施方案,结合工商数据、供应链记录及舆情数据,实现隐性关联识别与动态风险评估
  • AI 赋能 3D 创作!Tripo3D 全功能深度解析与实操教程
  • 从本地存档到协作开发的Git简单使用
  • visionpro案例: 轴承缺珠检测
  • 递归神经网络
  • 互联网大厂Java面试:Spring Cloud与微服务的奇妙之旅
  • JAVA:利用 Apache Tika 提取文件内容的技术指南
  • 并发编程之ReentrantLock
  • xpath选择器
  • Spring AI 框架-快速搭建以及会话日志(笔记)
  • Java实现希尔排序算法
  • 在线查看【免费】 jpg, jpeg, png, gif, bmp, ico, jfif, webp 等图片预览(翻转,缩放,镜像)文件格式网站
  • 突破网页数据集获取难题:Web Unlocker API 助力 AI 训练与微调数据集全方位解决方案
  • Nginx详细使用
  • 规则引擎 - Easy Rules
  • 使用openssl为localhost创建自签名
  • 运维概述(linux 系统)
  • 【Python核心库实战指南】从数据处理到Web开发
  • MCP + 数据库,一种比 RAG 检索效果更好的新方式!
  • Python+CoppeliaSim+ZMQ remote API控制机器人跳舞
  • 【c语言】指针进阶
  • 2025年首届人形机器人半程马拉松比赛(附机器人照片)
  • [BJDCTF2020]EzPHP
  • JVM有什么调优参数?
  • RSS 2025|苏黎世提出「LLM-MPC混合架构」增强自动驾驶,推理速度提升10.5倍!
  • 阿里云人工智能大模型MCP协议
  • Node.js和js到底什么关系
  • Hyperlane:Rust Web框架的性能新标杆