大数据综合项目设计

陈志明、曾亮

目录

  • 1 案例概述
    • 1.1 案例目的
    • 1.2 适用对象
    • 1.3 时间安排
    • 1.4 预备知识
    • 1.5 硬件要求
    • 1.6 软件工具
    • 1.7 数据集
    • 1.8 案例任务
    • 1.9 实验步骤
  • 2 大数据实验环境搭建
    • 2.1 Linux系统及相关软件使用方法 
    • 2.2 JDK安装
    • 2.3 Scala安装
    • 2.4 Hadoop的安装和基本使用方法
    • 2.5 Spark的安装和基本使用方法
    • 2.6 MySQL数据库的安装和基本使用方法
  • 3 IntelliJ IDEA开发工具的安装和使用方法
    • 3.1 下载和安装IDEA
    • 3.2 下载Scala插件安装包
    • 3.3 启动IDEA
    • 3.4 为IDEA安装Scala插件
    • 3.5 配置项目的JDK
    • 3.6 使用IDEA开发WordCount程序
  • 4 ETL工具Kettle的安装和使用方法
    • 4.1 安装Kettle
    • 4.2 使用Kettle把数据加载到HDFS中 
  • 5 使用Spark SQL读写MySQL数据库的方法
    • 5.1 Spark SQL
    • 5.2 创建MySQL 数据库
  • 6 使用Spark MLlib实现协同过滤算法
    • 6.1 推荐系统概述 
    • 6.2 协同过滤算法 
    • 6.3 Spark MLlib中的协同过滤算法 
  • 7 Node.js的安装和使用方法
    • 7.1 Node.js的安装
    • 7.2 创建Node.js应用 
    • 7.3 使用Express框架和Jade模板引擎
    • 7.4 实例:采用Jade模板引擎实现用户注册登录功能 
  • 8 电影推荐系统(基础版)的实现过程
    • 8.1 数据分析整体过程
    • 8.2 把数据集加载到HDFS中
    • 8.3 编写Spark程序实现电影推荐
    • 8.4 使用Node.js在网页中展示结果
  • 9 电影推荐系统(升级版)的设计与实现
    • 9.1 系统概述
    • 9.2 系统总体设计
    • 9.3 数据库设计与实现
    • 9.4 spark程序设计与实现
    • 9.5 系统网站的设计与实现
  • 10 电信用户行为分析(基础版)的实现过程
    • 10.1 电信用户行为分析
  • 11 电信用户行为分析(升级版)
    • 11.1 电信用户行为分析(升级版)
Spark SQL

5.1 Spark SQL

1Spark SQL

Spark SQLSpark生态系统中非常重要的组件,其前身为SharkSharkSpark上的数据仓库,最初设计成与Hive兼容,但是该项目于2014年开始停止开发,转向SparkSQLSpark SQL全面继承了Shark,并进行了优化。



2Spark SQL增加了Schema RDD

Spark SQL增加了SchemaRDD(即带有Schema信息的RDD),使用户可以在Spark SQL中执行SQL语句,数据既可以来自RDD,也可以来自HiveHDFSCassandra等外部数据源,还可以是JSON格式的数据。SparkSQL目前支持ScalaJavaPython三种语言,支持SQL-92规范。从Spark1.2 升级到Spark1.3以后,Spark SQL中的Schema RDD变为了DataFrameDataFrame相对于SchemaRDD有了较大改变,同时提供了更多好用且方便的API

Spark SQL可以很好地支持SQL查询,一方面,可以编写Spark应用程序使用SQL语句进行数据查询,另一方面,也可以使用标准的数据库连接器(比如JDBCODBC)连接Spark进行SQL查询,这样,一些市场上现有的商业智能工具(比如Tableau)就可以很好地和SparkSQL组合起来使用,从而使得这些外部工具借助于SparkSQL也能获得大规模数据的处理分析能力。