编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!
SparkSQL工作原理剖析
大数据

SparkSQL工作原理剖析

阅读(1942)

工作原理SqlParseAnalyserOptimizerSparkPlan性能优化设置Shuffle过程中的并行度:spark.sql.shuffle.partitions(SQLContext.setConf())在Hive数据仓库建设过程中,合理设置数据类型,比如能设置为INT的,就不要设置为BIGINT。减少数据类型导致的不必要的内存开销。编写SQL时,尽量给出明确的列名,比如select name from students。不要写se...

UDF自定义函数和UDAF自定义聚合函数
大数据

UDF自定义函数和UDAF自定义聚合函数

阅读(2715)

UDF用户自定义函数。Scala版本实例package cn.spark.study.sql import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.sql.SQLContext import org.apache.spark.sql.Row import org.apache.spark.sql.types.StructType import org.apache.spark.sql.typ...

内置函数
大数据

内置函数

阅读(2458)

Spark 1.5.x版本引入的内置函数在Spark 1.5.x版本,增加了一系列内置函数到DataFrame API中,并且实现了code-generation的优化。与普通的函数不同,DataFrame的函数并不会执行后立即返回一个结果值,而是返回一个Column对象,用于在并行作业中进行求值。Column可以用在DataFrame的操作之中,比如select,filter,groupBy等。函数的输入值,也...

JDBC数据源
大数据

JDBC数据源

阅读(1861)

Spark SQL支持使用JDBC从关系型数据库(比如MySQL)中读取数据。读取的数据,依然由DataFrame表示,可以很方便地使用Spark Core提供的各种算子进行处理。这里有一个经验之谈,实际上用Spark SQL处理JDBC中的数据是非常有用的。比如说,你的MySQL业务数据库中,有大量的数据,比如1000万,然后,你现在需要编写一个程序,对线上的脏数据某种复...

Hive数据源
大数据

Hive数据源

阅读(2603)

Spark SQL支持对Hive中存储的数据进行读写。操作Hive中的数据时,必须创建HiveContext,而不是SQLContext。HiveContext继承自SQLContext,但是增加了在Hive元数据库中查找表,以及用HiveQL语法编写SQL的功能。除了sql()方法,HiveContext还提供了hql()方法,从而用Hive语法来编译sql。使用HiveContext,可以执行Hive的大部分功能,包括创建表...

JSON数据源
大数据

JSON数据源

阅读(2185)

Spark SQL可以自动推断JSON文件的元数据,并且加载其数据,创建一个DataFrame。可以使用SQLContext.read.json()方法,针对一个元素类型为String的RDD,或者是一个JSON文件。但是要注意的是,这里使用的JSON文件与传统意义上的JSON文件是不一样的。每行都必须,也只能包含一个,单独的,自包含的,有效的JSON对象。不能让一个JSON对象分散在多...

数据源Parquet
大数据

数据源Parquet

阅读(2264)

使用编程方式加载数据Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0。列式存储和行式存储相比有哪些优势呢?可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。压缩编码可以降低磁盘存储空间。由于同一列的数据类型是一样的,可以使...

省无车承运人监测与服务平台接入前期准备工作
项目管理

省无车承运人监测与服务平台接入前期准备工作

阅读(2230)

1、阅读《江苏省无车承运人监测与服务平台接入说明(省平台)》 和关系图.png2、准备前置机。(做好前置机安全防护工作开启防火墙,安装杀毒软件,定时备份数据等)前置机要求(1 台或 2 台):数据交换服务器 8 核 CPU, 32G 内存, 100GB 存储,Windows 2008 64 位操作系统以上。 (需提供远程权限)数据库服务器 8 核 CPU, 32G 内存, 500GB 存储(...

通用的load和save操作
大数据

通用的load和save操作

阅读(2179)

通用的load和save操作对于Spark SQL的DataFrame来说,无论是从什么数据源创建出来的DataFrame,都有一些共同的load和save操作。load操作主要用于加载数据,创建出DataFrame;save操作,主要用于将DataFrame中的数据保存到文件中。Java版本DataFrame df = sqlContext.read().load("users.parquet"); df.select("...

DataFrame使用
大数据

DataFrame使用

阅读(1846)

Spark SQL and DataFrame引言Spark SQL是Spark中的一个模块,主要用于进行结构化数据的处理。它提供的最核心的编程抽象,就是DataFrame。同时Spark SQL还可以作为分布式的SQL查询引擎。Spark SQL最重要的功能之一,就是从Hive中查询数据。DataFrame,可以理解为是,以列的形式组织的,分布式的数据集合。它其实和关系型数据库中的表非常类似,...

专注编程入门及提高,探究程序员职业规划之道!