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

相关推荐
小北的AI科技分享2 分钟前
2026视觉检测设备厂家排名:四大主流品牌技术与产品深度测评
人工智能·计算机视觉·视觉检测
不羁的木木9 分钟前
HarmonyOS APP实战-基于Image Kit的图像处理APP - 第6篇:图片滤镜效果实现
图像处理·深度学习·harmonyos
江畔柳前堤14 分钟前
GO01-Go 语言与主流编程语言深度对比
开发语言·人工智能·后端·微服务·云原生·golang·go
山东云弈创峰科技38 分钟前
山东云弈创峰:跨境电商AI自动化中的环境隔离与风控架构
人工智能·架构·自动化
水如烟44 分钟前
孤能子视角:三十六计之反客为主——拓扑结构重构
人工智能
世界哪有真情1 小时前
拿人类意识卡 AI?等于用 bug 验收正式产品
前端·人工智能·后端
故乡de云1 小时前
IntelliJ IDEA 接入 Code0:OpenAI 兼容接口的配置、模型名与常见错误排查
人工智能
cd_949217211 小时前
为什么AI3D创作中贴图材质尤为重要?因为它决定模型能否成为可用资产
人工智能·3d·贴图
智圣新创011 小时前
重构沉浸式育人链路:智圣新创智慧学生社区平台建设的行业全域参考
大数据·人工智能·重构
Proaiapi2 小时前
GPT-5.6 使用指南:从 ChatGPT 到 Codex,AI 开发进入 Agent 时代
人工智能·gpt·chatgpt