一、程序

 1 package sparklearning
 2
 3 import org.apache.log4j.Logger
 4 import org.apache.spark.SparkConf
 5 import org.apache.spark.SparkContext
 6 import org.apache.spark.sql.SQLContext
 7 import org.apache.spark.storage.StorageLevel
 8 import org.apache.log4j.Level
 9
10 object OnLineTradeStatistics {
11
12   case class User(userID:String,gender:String,age:Int,registerDate:String,provice:String,career:String)
13   case class TradeDetail(tradeID:String, tradeDate:String,productID:Int,amount:Int,userID:String)
14   def main(args: Array[String]){
15
16     //关闭不必要的日志显示
17       Logger.getLogger("org.apache.hadoop").setLevel(Level.ERROR)
18       Logger.getLogger("org.apache.spark").setLevel(Level.ERROR)
19       Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF)
20
21       //设置应用程序
22       val conf=new SparkConf().setAppName("On Line Trade Data").setMaster("local")
23       val ctx=new SparkContext(conf)
24       val sqlCtx=new SQLContext(ctx)
25       import sqlCtx.implicits._
26
27       //读文件  RDD-->DataFrame
28       val userDF= ctx.textFile("/home/hadoop/data/on_line_trade_user.txt").map(_.split(" ")).map(u=>User(u(0),u(1),u(2).toInt,u(3),u(4),u(5))).toDF()
29       userDF.registerTempTable("user")
30       userDF.persist(StorageLevel.MEMORY_ONLY_SER)
31
32       val tradeDF= ctx.textFile("/home/hadoop/data/on_line_trade_detail.txt").map(_.split(" ")).map(u=>TradeDetail(u(0),u(1),u(2).toInt,u(3).toInt,u(4))).toDF()
33       tradeDF.registerTempTable("trade")//生成临时表
34       tradeDF.persist(StorageLevel.MEMORY_ONLY_SER)
35
36       val countOfTrade2016 = sqlCtx.sql("SELECT * FROM trade where tradeDate like '2016%'").count()
37       println("2016 total money: "+countOfTrade2016)
38   }
39 }

二、结果

转载于:https://www.cnblogs.com/liuzhongfeng/p/7017545.html

Spark SQL实战相关推荐

  1. Spark SQL实战(08)-整合Hive

    1 整合原理及使用 Apache Spark 是一个快速.可扩展的分布式计算引擎,而 Hive 则是一个数据仓库工具,它提供了数据存储和查询功能.在 Spark 中使用 Hive 可以提高数据处理和查 ...

  2. spark—SQL实战案例

    学习内容 一.sparkSQL在IDEA的使用 1.环境配置 2.快速入门 二.sparkSQL实战案例 1.数据准备 2.案例分析 3.功能实现 4.代码实现 一.sparkSQL在IDEA的使用 ...

  3. Spark项目实战:大数据实时流处理日志(非常详细)

    实战概览 一.实战内容 二.大数据实时流处理分析系统简介 1.需求 2.背景及架构 三.实战所用到的架构和涉及的知识 1.后端架构 2.前端框架 四.项目实战 1.后端开发实战 1.构建项目 2.引入 ...

  4. 实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作

    转载自  实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作 供稿 | eBay ADI-Carmel Team 作者 | 金澜涛 编辑 | 顾欣怡 本文7309字,预计阅读时 ...

  5. Tablestore结合Spark的流批一体SQL实战

    作者:王卓然 花名琸然 阿里云存储服务技术专家 背景介绍 电子商务模式是指在网络环境和大数据环境下基于一定技术基础的商务运作方式和盈利模式,对于数据的分析和可视化是电商运营中最重要的部分之一,而电商大 ...

  6. 《Spark SQL大数据实例开发》9.2 综合案例实战——电商网站搜索排名统计

    <Spark SQL大数据实例开发>9.2 综合案例实战--电商网站搜索排名统计 9.2.1 案例概述     本节演示一个网站搜索综合案例:以京东为例,用户登录京东网站,在搜索栏中输入搜 ...

  7. 73、Spark SQL之开窗函数以及top3销售额统计案例实战

    开窗函数以及top3销售额统计案例实战 Spark 1.4.x版本以后,为Spark SQL和DataFrame引入了开窗函数,比如最经典,最常用的,row_number(),可以让我们实现分组取to ...

  8. 《Spark商业案例与性能调优实战100课》第9课:商业案例之通过Spark SQL 下两种不同方式实现口碑最佳和最热门电影比较

    <Spark商业案例与性能调优实战100课>第9课:商业案例之通过Spark SQL 下两种不同方式实现口碑最佳和最热门电影比较

  9. 《Spark商业案例与性能调优实战100课》第6课:商业案例之通过Spark SQL实现大数据电影用户行为分析

    <Spark商业案例与性能调优实战100课>第6课:商业案例之通过Spark SQL实现大数据电影用户行为分析 package com.dt.spark.sparksqlimport or ...

最新文章

  1. [RHEL5企业级Linux服务攻略]--第3季 DHCP服务全攻略
  2. Windows PowerShell:Windows PowerShell的简介、入门、使用方法之详细攻略
  3. Java之关于面向对象
  4. sharepoint2010的弹出等待提示的对话框
  5. Java基础知识强化之IO流笔记44:IO流练习之 复制图片的 4 种方式案例
  6. 1、varargout与nargout区别
  7. 电大 计算机网络 网考,2018-2019年最新电大《计算机网络(本)》网络核心课形考网考作业答案.docx...
  8. LAMP使开放源代码软件安全性提高
  9. 计算机恢复出厂设置xp,电脑xp一键恢复出厂设置
  10. 计算机科学类面试题,银行计算机类笔试题目
  11. 输入国家名按字典顺序进行排序
  12. 沙尔克04和ajax,昔日德甲劲旅沦为保级球队,沙尔克04和云达不来梅到底怎么了?...
  13. 网络流量一对多镜像配置
  14. 打印机服务无法启动 错误代码1068
  15. 关于高通QPST平台功能和选项的一些简单说明
  16. 使用three.js/webgl开发智慧城市场景的一些总结
  17. 阿里云产品专家陶炳哲:Java应用最佳实验
  18. 一次 TiDB 5.1 Write Stall 问题处理
  19. JavaScript-----BOM
  20. leo-手机开单库存管理系统

热门文章

  1. Android 性能优化探究
  2. 树莓派蜜罐节点部署实战
  3. 面试时,如何向公司提问?
  4. delphi windows编程_学习C/C++:伴随我成长的编程书!
  5. Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果...
  6. 解释一下为什么数据文件最好采用单字符作为字段分隔符
  7. MFC实现Flash动画播放
  8. 类型约束的本质:泛型是不完备类型,只有合乎要求的构造才能正确使用和访问。...
  9. vue_music:搜索search.vue
  10. Node.js 指南(入门指南)