![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark SQL
jy02268879
这个作者很懒,什么都没留下…
展开
-
【一】基于Ubuntu16.04环境编译Spark源码及安装
前期准备maven3.3.9+安装jdk1.7+jdk安装scala安装下载http://spark.apache.org/downloads.html这里是下载源码,根据我们生成的环境自己编译官网编译源码介绍创建目录mkdir /app/sparkcd /app/spark解压tar -zxvf spark-2.2.0.tgz 使用...原创 2018-07-16 21:42:52 · 1222 阅读 · 2 评论 -
【九】Spark SQL用JDBC代码访问ThriftServer
1.启动ThriftServer 默认端口在10000 可修改cd /app/spark/spark-2.2.0-bin-2.9.0./sbin/start-thriftserver.sh --master local[3] --jars /app/mysql-connector-java-5.1.46.jar查看是否启动成功jps -m2.项目目录3.pom.xm...原创 2018-07-27 00:30:31 · 2303 阅读 · 0 评论 -
【十】Spark SQL DataFrames概述及基本API操作
DataFrames不是Spark SQL提出的,它早期在R、Python中就有了。原来数据R语言中的DataFrame可以快速转到Spark SQL中来。Spark RDD API是通过函数式编程模式把大数据中的数据转换成分布式数据集RDD再进行编程。DataFrames概述官网介绍DataSet是一个分布式数据集,它是spark1.6后新增的。DataFrame是一个以列(...原创 2018-07-27 01:16:14 · 567 阅读 · 0 评论 -
【十一】Spark SQL DataFrames和RDD互操作
官网介绍一、用反射机制的方式DataFrames和RDD互操作(能推导出schema信息,代码更加简介,运行效果更加好,前提是已经准确知道schema构成)Spark SQL 提供的scala接口能够自动把一个包含case class(类似于java中的一个bean)信息的RDD转换成DataFrame。case class定义的是表的schema信息。二、用编程的方式DataFr...原创 2018-07-27 02:07:42 · 427 阅读 · 0 评论 -
【十二】Spark SQL DataSets概述
DataSet是一个分布式的数据集,是spark1.6版本才出来的。它提供RDD中的有点(强类型、lambda表达式、优化SparkSQL执行引擎)。DataFrame中能用的东西大部分在DataSet都能用。DataSet能够通过JVM对象构建出来。DataSet能使用函数表达式(map、flatmap、filter等等)。DataSet API能在Java和Scala中使用。python暂不支...原创 2018-07-27 03:06:35 · 283 阅读 · 0 评论 -
【十五】SparkSQL访问日志分析:数据清洗、数据分析(分组、排序、窗口函数)、入库(MySQL)、性能优化
概述:1.第一次数据清洗:从原始日志中抽取出需要的列的数据,按照需要的格式。2.第二步数据清洗:解析第一步清洗后的数据, 处理时间,提出URL中的产品编号、得到产品类型, 由IP得到城市信息(用到开源社区的解析代码,该部分具体介绍:ipdatabase解析出IP地址所属城市) ,按照天分区进行存储 (用parquet格式)。3.统计分析(分组、排序、窗口函数)。4.结果写入MyS...原创 2018-07-30 18:52:06 · 3020 阅读 · 0 评论 -
【十六】SparkSQL常用性能优化
一、代码优化1.在数据统计的时候选择高性能算子。例如Dataframe使用foreachPartitions将数据写入数据库,不要每个record都去拿一次数据库连接。通常写法是每个partition拿一次数据库连接。 /** * 将统计结果写入MySQL中 * 代码优化: * 在进行数据库操作的时候,不要每个record都去...原创 2018-07-30 21:41:09 · 16052 阅读 · 0 评论 -
【十三】Spark外部数据源操作实现ETL功能(json => parquet)
Spark有统一个外部数据源API,可以轻松实现ETL功能。pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/...原创 2018-07-27 18:40:35 · 1046 阅读 · 0 评论 -
【十四】SparkSQL外部数据源操作之Mysql
SparkMysql.scala代码package com.sid.comimport org.apache.spark.sql.SparkSessionimport java.util.Properties/** * 操作mysql的数据 * */object SparkMysql { def main(args: Array[String]): Unit = ...原创 2018-07-27 19:19:31 · 626 阅读 · 0 评论 -
【八】thriftserver和beeline的使用
thriftserver和spark-shell/spark sql的区别:1.每次启动一个spark-shell/spark sql它都是一个spark application,每次都要重新启动申请资源。2.用thriftserver,无论启动多少个客户端(beeline),只要是连在一个thriftserver上,它都是一个spark application,后面不用在重新申请资源。能...原创 2018-07-26 23:39:15 · 1025 阅读 · 0 评论 -
【二十】Spark on YARN
Spark部署(standalone模式)--master官网介绍在Spark中支持4种运行模式:1.Local:通常在开发时使用,可以直接在IDEA中运行,本机电脑不用部署环境。--master("local[2]")。2.Standalone:这是Spark自带的,如果一个集群是Standalone,需要在多台机器上同时部署Spark环境。改一个机器的配置要把所有机器都同步...原创 2018-07-30 03:08:55 · 240 阅读 · 0 评论 -
【二】使用IDEA+Maven构建Spark(使用Scala语言)开发环境
这里用的scala的模板,因为后面spark编程会继续使用这个项目选择本地maven的settings.xml文件。点击完成。文件目录如下删除掉不用的文件后在src/main中添加一个java目录。点击project structure.点击Modules,选择java文件目录,点击Sources,保存在java目录下创建包最后文件目录如...原创 2018-07-16 03:21:08 · 625 阅读 · 0 评论 -
【十九】Spark安装(standalone模式)
【一】基于Ubuntu16.04环境编译Spark源码及安装先确定已经编译好了源码,并且安装好了local模式。(每台机器都要安装)node1 Master node2 worker node3 worker node4 worker cd /app/spark/spark-2.2.0-bin-2.9.0/confcp spark-env.sh....原创 2018-07-24 18:56:20 · 1012 阅读 · 0 评论 -
【三】SparkSQL概述
概述官网介绍SparkSQL是Spark的一个模块,用来处理结构化数据的。SparkSQL能够运行SQL/Hive SQL包括UDF、UDAF、序列化和反序列化。SparkSQL能够通过JDBC的方式连接到已经存在的BI工具上。它能够支持Python、Java、Scala、R语言。Spark SQL可以在Spark程序中查询结构化数据,也能使用DataFrame API...原创 2018-07-24 21:04:35 · 325 阅读 · 0 评论 -
【四】Spark SQL中SQLContext的使用(从json文件中加载数据)
SQLContext是Spark1.X中Spark SQL的入口点。项目目录pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apa...原创 2018-07-24 21:42:02 · 3978 阅读 · 0 评论 -
【五】Spark SQL中HiveContext的使用(操作hive中的表)(提交到服务器上执行)(Hadoop HA)
HiveContext在基本的SQLContext上有了一些新的特性,可以用Hive QL写查询,可以读取Hive表中的数据,支持Hive的UDF。要把hive/conf/hive-site.xml文件拷贝到spark/conf下。cd /app/hive/confscp hive-site.xml root@node1:/app/spark/spark-2.2.0-bin-2.9.0...原创 2018-07-25 00:31:06 · 13075 阅读 · 0 评论 -
【六】Spark SQL中SparkSession的使用
Spark2.X中Spark SQL的入口点:SparkSession。项目目录pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apa...原创 2018-07-25 00:48:12 · 12418 阅读 · 0 评论 -
【七】Spark SQL命令和Spark shell命令操作hive中的表
1.把hive的配置文件hive-site.xml复制到spark/conf下。2.启动的时候带上MySQL的连接驱动Spark-shell命令使用spark-shell是通过得到sparksession然后调用sql方法执行hive的sql。cd /app/spark/spark-2.2.0-bin-2.9.0/bin./spark-shell --master local[...原创 2018-07-26 20:22:39 · 23062 阅读 · 2 评论 -
IP地址解析之github中ipdatabase项目的使用
使用gitbub上的ipdatabase项目做IP地址解析得到该IP是什么城市的。流程:1.下载项目 2.编译 3.添加到maven库中(这里演示的是本地maven库) 4.在idea项目的pom.xml中引入依赖ipdatabase项目地址https://github.com/wzhe06/ipdatabase.git下载git clone https://github.co...原创 2018-07-29 23:05:37 · 4219 阅读 · 3 评论 -
【零】SparkSQL特性与优化
SparkSQL特性之:代码量少,可读性高。计算平均数的功能,左是hadoop写MapReduce的代码量,太繁琐。右是用Spark Core RDD API写,代码量少但可读性不好。同样是计算平均数,用Spark SQL或者DataFrame,代码可读性比RDD好很多。SparkSQL特性之:统一访问操作接口。在SparkSQL中read/write不同格式的数据都是有统...原创 2018-07-27 22:43:25 · 1240 阅读 · 0 评论