SparkSQL,创建表,查询数据,加载文件,处理文件,存储文件

本文档详细介绍了如何使用Spark SQL在Linux环境下处理数据,包括创建orders和order_items表,加载HDFS文件,进行join操作,统计用户购买商品信息,以及处理goods_visit.json文件,进行数据查询、过滤、分组统计等操作,并将结果保存为parquet格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验思路:

  1. 在Linux上,创建/data/sparkshell目录,用于存储实验所需的数据。
  2. 切换目录到/data/sparkshell下,并从指定网址下载buyer_favorite文件。
  3. 使用jps查看Hadoop以及Spark的相关进程是否已经启动,若未启动则执行启动命令。
  4. 将Linux本地/data/sparkshell/buyer_favorite文件,上传到HDFS上的/mysparkshell目录下。
  5. 启动spark-shell
  6. 加载数据,创建RDD
  7. 对RDD进行统计并将结果输出至hdfs上的/mysparkshell
  8. 将hdfs中的结果文件导入到本地/data/ans20/ans20_ans1.txt文件中

 

 

SparkSQL,创建表,查询数据

任务内容

某电商平台,需要对订单数据进行分析,已知订单数据包括两个文件,分别为订单数据orders和订单明细数据order_items,orders记录了用户购买商品的订单ID,订单号,用户ID及下单日期。order_items记录了商品ID,订单ID以及明细ID。它们的结构与关系如下图所示:

 

orders表:(order_id,order_number,buyer_id,create_dt)

view plain copy

  1. 订单ID   订单号          用户ID    下单日期  
  2. 52304    111215052630    176474    2011-12-15 04:58:21  
  3. 52303    111215052629    178350    2011-12-15 04:45:31  
  4. 52302    111215052628    172296    2011-12-15 03:12:23  
  5. 52301    111215052627    178348    2011-12-15 02:37:32  
  6. 52300    111215052626    174893    2011-12-15 02:18:56  
  7. 52299    111215052625    169471    2011-12-15 01:33:46  
  8. 52298    111215052624    178345    2011-12-15 01:04:41  
  9. 52297    111215052623    176369    2011-12-15 01:02:20  
  10. 52296    111215052622    178343    2011-12-15 00:38:02  
  11. 52295    111215052621    178342    2011-12-15 00:18:43  

order_items表:(item_id,order_id,goods_id )

view plain copy

  1. 明细ID  订单ID   商品ID  
  2. 252578    52293    1016840  
  3. 252579    52293    1014040  
  4. 252580    52294    1014200  
  5. 252581    52294    1001012  
  6. 252582    52294    1022245  
  7. 252583    52294    1014724  
  8. 252584    52294    1010731  
  9. 252586    52295    1023399  
  10. 252587    52295    1016840  
  11. 252592    52296    1021134  
  12. 252593    52296    1021133  
  13. 252585    52295    1021840  
  14. 252588    52295    1014040  
  15. 252589    52296    1014040  
  16. 252590    52296    1019043  

创建orders表和order_items表,并统计该电商网站都有哪些用户购买了什么商品。

任务步骤

1.首先检查Hadoop相关进程,是否已经启动。若未启动,切换到/apps/hadoop/sbin目录下,启动Hadoop。

view plain copy

  1. jps  
  2. cd /apps/hadoop/sbin  
  3. ./start-all.sh  

2.在Linux本地新建/data/spark5目录。

view plain copy

  1. mkdir -p /data/spark5  

3.切换到/data/spark5目录下,使用wget命令,下载http://192.168.1.100:60000/allfiles/spark5中的orders和order_items。

view plain copy

  1. cd /data/spark5  
  2. wget http://192.168.1.100:60000/allfiles/spark5/orders  
  3. wget http://192.168.1.100:60000/allfiles/spark5/order_items  

4.首先,在HDFS上新建/my

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值