
Spark SQL
飞翔的小宇宙
天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。 人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
展开
-
十五.Spark SQL之Save Modes几种存储形式
Save Modes: Save操作可以选择使用SaveMode,它指定如果存在的话如何处理现有数据。重要的是要认识到这些保存模式不使用任何锁定,也不是原子的。此外,当执行覆盖时,数据将在写入新数据之前被删除。实践1.读取一个json文件进行测试:scala> val df = spark.read.format("json").loa...原创 2018-11-02 16:56:29 · 14670 阅读 · 0 评论 -
十四.Spark SQL总结之spark日志文件数据格式的转换
第一步.数据源找到spark的日志数据源,在/root/spark/spark-2.0.2-bin-hadoop2.7/logs目录下:通过对文件的读取,统计其中数据的条数:val masterLog = sc.textFile("file:///root/spark/spark-2.0.2-bin-hadoop2.7/logs/spark-root-org.apache.spark.de...原创 2018-11-02 09:43:47 · 1571 阅读 · 0 评论 -
十三.Spark SQL之通过Zeppelin进行统计数据的图形化展示
Spark SQL学习有一段时间了,因此花了一些时间写了一个日志清洗的项目,项目已经上传到github上了,    项目地址    &nbsp原创 2018-10-26 15:17:01 · 3018 阅读 · 0 评论 -
五.SparkSQL之DataFrame与RDD互操作二:编程方式
一. 引言       创建数据集的第二种方法是通过编程接口,允许您构建模式,然后将其应用于现有RDD。虽然此方法更详细,但它允许您在直到运行时才知道列及其类型时构造数据集。DataFrame则可以通过三个步骤以编程方式创建。1)Row从原始RDD 创建s的RDD;原创 2018-10-10 17:39:57 · 229 阅读 · 0 评论 -
四.SparkSQL中DataFrame与RDD互操作之一:反射方式
一.引言     Spark SQL支持两种不同的方法将现有RDD转换为数据集。第一种方法使用反射来推断包含特定类型对象的RDD的模式。这种基于反射的方法可以使代码更简洁,并且在编写Spark应用程序时已经了解了模式,因此可以很好地工作。详细资料参考  DataFrame与RDD互操作之反射二.实例操作原创 2018-10-10 15:16:14 · 720 阅读 · 0 评论 -
三.SparkSQL之DataFrame基本API操作
废话不多说直接上代码和图解:import org.apache.spark.sql.SparkSession/** * Created by 李国辉 on 2018/10/9. * DataFrame API基本操作 */object DataFrameApp { def main(args: Array[String]) { val spark = SparkS...原创 2018-10-09 21:33:33 · 4279 阅读 · 1 评论 -
十二.SparkSQL中json数据文件转换成parquet文件
第一步     首先在本地创建一个json文件,名字叫json_schema_infer.json,文件中数据的格式如下:{"name":"liguohui","gender":"M","height&quo原创 2018-10-16 10:13:51 · 3147 阅读 · 3 评论 -
二.java实现SparkSQL之jdbc方式编程访问hive数据库
第一步: 添加maven依赖 <repositories> <repository> <id>scala-tools.org</id> <name>Scala-Tools原创 2018-10-09 10:18:49 · 3798 阅读 · 6 评论 -
十一.SparkSQL之mysql和hive关联表操作
一.创建mysql数据create database spark;use spark;//创建表CREATE TABLE DEPT(DEPTNO int(2) PRIMARY KEY,DNAME VARCHAR(14) ,LOC VARCHAR(13) );//添加数据INSERT INTO DEPT VALUES(10,'ACCOUNTING','NEW YORK');INS...原创 2018-10-15 15:39:29 · 2101 阅读 · 0 评论 -
十.SparkSQL之外部数据源操作mysql表数据
引言:Spark SQL还包括一个可以使用JDBC从其他数据库读取数据的数据源。与使用JdbcRDD相比,此功能应该更受欢迎。这是因为结果作为DataFrame返回,它们可以在Spark SQL中轻松处理或与其他数据源连接。JDBC数据源也更易于使用Java或Python,因为它不需要用户提供ClassTag。(请注意,这与Spark SQL JDBC服务器不同,后者允许其他应用程序使用Spar...原创 2018-10-15 11:33:44 · 862 阅读 · 0 评论 -
一.SparkSQL中thriftserver和beeline的使用
使用的前提是你已经安装好了spark,在这里我使用的版本是spark-2.0.2-bin-hadoop2.7,建议使用该版本,因为试了几个版本都不理想,最后找到了这个版本感觉挺好的,学习Spark SQL很方便.1. 首先是启动thriftserver服务端:服务器端是在spark目录下的sbin目录下,但是启动的时候不能直接使用./start-thriftserver.sh进行启动,会报没有...原创 2018-10-08 16:24:32 · 3461 阅读 · 0 评论 -
八.SparkSQL之外部数据源操作parquet文件
一.引言前面讲的SparkSQL都是通过代码操作,这里换另外一种方式,通过命令的形式进行操作,实际就是代码放在命令行中执行.概念:     方便快速的从不同的数据源(json,parquet,rdbms),经过混和处理(json,join,parquet)再将处理结果以特定的格式(json,parquet)写会到指定的系统(HD原创 2018-10-11 22:32:22 · 927 阅读 · 0 评论 -
七.SparkSQL之Dataset实战演练
一.概述Dataset是一个分布式的数据集,并且是spark1.6版本的新接口,有点就是强类型,支持lambda表达式,还提供了SparkSQL优化的执行引擎的优点.解释: 针对SQL而言: seletc name from person; 写错select 但是编译(compile)还是过的,运行时出错 针...原创 2018-10-11 16:22:53 · 255 阅读 · 0 评论 -
六.SparkSQL之DataFrame操作实例实战API
前面已经说过DataFrame的基本API操作,接下来就讲下实际开发过程中的应用,首先需要准备一个数据源文件,以下面这种格式的数据(这种数据是可以清洗日志得到的)第一步: 实例实战演示import org.apache.spark.sql.SparkSessionobject DataFrameCase {def main(args: Array[String]){val spark ...原创 2018-10-11 12:07:06 · 1603 阅读 · 1 评论 -
十六.Spark SQL之读取复杂的json数据
第一步.准备json数据test.json{"name":"liguohui","nums":[1,2,3,4,5]}{"name":"zhangsan","nums":[6,7,8,9,10]}test2.json{"name":"Yin","address":{"city":"chin原创 2018-11-02 17:43:42 · 8487 阅读 · 0 评论