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元数据。

  1. 代码操作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

```

  1. 过滤有效数据:

```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

```

  1. 统计结果:
  • 有效数据总数:

```sql

相关推荐
数据科学作家2 小时前
学数据分析必囤!数据分析必看!清华社9本书覆盖Stata/SPSS/Python全阶段学习路径
人工智能·python·机器学习·数据分析·统计·stata·spss
CV缝合救星4 小时前
【Arxiv 2025 预发行论文】重磅突破!STAR-DSSA 模块横空出世:显著性+拓扑双重加持,小目标、大场景统统拿下!
人工智能·深度学习·计算机视觉·目标跟踪·即插即用模块
TDengine (老段)6 小时前
从 ETL 到 Agentic AI:工业数据管理变革与 TDengine IDMP 的治理之道
数据库·数据仓库·人工智能·物联网·时序数据库·etl·tdengine
蓝桉8026 小时前
如何进行神经网络的模型训练(视频代码中的知识点记录)
人工智能·深度学习·神经网络
星期天要睡觉7 小时前
深度学习——数据增强(Data Augmentation)
人工智能·深度学习
笑脸惹桃花7 小时前
50系显卡训练深度学习YOLO等算法报错的解决方法
深度学习·算法·yolo·torch·cuda
南山二毛8 小时前
机器人控制器开发(导航算法——导航栈关联坐标系)
人工智能·架构·机器人
大数据张老师8 小时前
【案例】AI语音识别系统的标注分区策略
人工智能·系统架构·语音识别·架构设计·后端架构
xz2024102****8 小时前
吴恩达机器学习合集
人工智能·机器学习
anneCoder8 小时前
AI大模型应用研发工程师面试知识准备目录
人工智能·深度学习·机器学习