编程那点事编程那点事

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

最新发布

Hive On Spark使用
大数据

Hive On Spark使用

阅读(2916)

create table students(name string, age int); load data local inpath '/usr/local/spark-study/resources/students.txt' into table students;使用Hive On Spark非常简单只要用set hive.execution.engine命令设置Hive的执行引擎为spark即可默认是mrset hive.ex...

Hive On Spark环境搭建
大数据

Hive On Spark环境搭建

阅读(3002)

下载hive解压到/usr/loca/进入conf目录,mv hive-default.xml.template hive-site.xml,修改hive-site.xml<property>   <name>javax.jdo.option.ConnectionURL</name>   <value>jdbc:mysql://spark1:3306/hive_metadata_2?createDatabaseIfNotExist=true</value> </property> &l...

HiveOnSpark背景
大数据

HiveOnSpark背景

阅读(2605)

Hive是目前大数据领域,事实上的SQL标准。其底层默认是基于MapReduce实现的,但是由于MapReduce速度实在比较慢,因此这两年,陆续出来了新的SQL查询引擎。包括Spark SQL,Hive On Tez,Hive On Spark等。Spark SQL与Hive On Spark是不一样的。Spark SQL是Spark自己研发出来的针对各种数据源,包括Hive、JSON、Parquet、JDBC、RDD等都可以执行...

SparkSQL工作原理剖析
大数据

SparkSQL工作原理剖析

阅读(2339)

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

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

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

阅读(3079)

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...

内置函数
大数据

内置函数

阅读(2871)

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

JDBC数据源
大数据

JDBC数据源

阅读(2227)

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

Hive数据源
大数据

Hive数据源

阅读(2882)

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

JSON数据源
大数据

JSON数据源

阅读(2582)

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

数据源Parquet
大数据

数据源Parquet

阅读(2637)

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

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