自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

转载 SparkSQL的小案例

class ApacheAccessLog( var ipAddress:String,//地址 var clientIndextd:String,//标示符 var userID:String,//用户的id va

2017-11-22 13:55:39 420 1

翻译 SparkSQL的UDF和UDAF

1.UDF注:以下的SparkSQL初始化方式不是最新的,请参考上篇博客进行修改import org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.sql.hive.HiveContextobject UDFTest { def main(args: Array[String]): Unit = {

2017-11-22 13:01:02 411

翻译 SparkSQL的数据源

1.数据源SparkSQL的数据源:结构化的文件(json,parquet),或者是Hive的表,或者是外部的数据库(mysql),也或者是已经存在的RDD。2.load和saveSparkSQL默认的数据源的文件格式是parquetLoad是用来读取文件的时候加载文件中的数据Save是用来往外写文件的时候存储写出的数据val df = sqlContext.rea

2017-11-22 11:47:16 924

翻译 RDD转化为DataFrames的两种创建方式

1.通过反射的方式         Scala的接口为SparkSQL提供了RDD通过转换成样例类,然后自动的转换成DataFrame,样例类定义了表的模式,使用反射读取case类参数的名称,并成为列的名称。case类也可以嵌套,或者包含复杂类型,如序列或数组。RDD可以隐式转换为一个DataFrame,然后被注册为一个表。表可用于后续SQL语句中。// sc is an existi

2017-11-22 11:10:27 858

翻译 SparkSQL的简介

SparkSQL               SparkSQL是一个处理结构化数据的Spark模型,不像基本的Spark RDD的API,通过SparkSQL提供的接口可以提供更多的信息关于结构化的数据和计算,SparkSQL使用这些额外的信息进行额外的优化,有很多和SparkSQL进行交互的方式,包括:SparkSQL,SQL,the DataFrames API and the D

2017-11-22 10:49:31 364

原创 SparkSQL的发展历史

Hadoop刚开始出来的时候,使用的是hadoop自带的分布式计算系统MapReduce,但是MapReduce的使用难度较大,所以就开发了Hive,Hive编程用的是类SQL的HQL的语句,这样编程的难度就大大的降低了,Hive的运行原理就是将HQL语句经过语法解析、逻辑计划、物理计划转化成MapReduce程序执行。当Spark出来以后,Spark团队也开发了一个Shark,就是在Spark集

2017-11-22 10:24:49 1061

转载 Notepad++快捷键

1. 文件相关快捷键 动作定义Ctrl-O 打开文件Ctrl-N 新建文件Ctrl-S 保存文件Ctrl-Alt-S 文件另存为Ctrl-Shift-S 保存所有打开文件Ctrl-P 打印Alt-F4 退出程序Ctrl-Tab 文件标签跳转,跳至下一个打开文件Ctrl-Shift-Tab 文件标签跳转,跳至上一个打开文件Ctrl-W 关闭当前文件

2017-11-10 10:05:10 542

原创 Xshell4快捷键使用大全

2017-11-10 09:58:34 588

转载 Scala中的集合

Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩展自Iterable特质,在Scala中集合有可变(mutable)和不可变(immutable)两种类型,immutable类型的集合初始化后就不能改变了(注意与val修饰的变量进行区别)1. 序列不可变的序列import scala.collection.immutable._在Scala中列表要

2017-11-09 22:58:44 620

转载 Scala中的元组

映射是K/V对偶的集合,对偶是元组的最简单形式,元组可以装着多个不同类型的值。1. 创建元组 2. 获取元组中的值 3. 将对偶的集合转换成映射 4. 拉链操作zip命令可以将多个值绑定在一起 注意:如果两个数组的元素个数不一致,拉链操作后生成的数组的长度为较小的那个数组的元素个数

2017-11-09 22:55:56 603

转载 Scala中的映射

在Scala中,把哈希表这种数据结构叫做映射1. 构建映射 2. 获取和修改映射中的值 好用的getOrElse 注意:在Scala中,有两种Map,一个是immutable包下的Map,该Map中的内容不可变;另一个是mutable包下的Map,该Map中的内容可变例子: 注意:通常我们在创建一个集合是会用val这个关键字修饰一个变量(相当于jav

2017-11-09 22:47:00 609

转载 Scala中的数组

1.定长数组和变长数组import scala.collection.mutable.ArrayBufferobject ArrayTest { def main(args: Array[String]) { //初始化一个长度为8的定长数组,其所有元素均为0 val arr1 = new Array[Int](8) //直接打印定长数组,内容为数组的ha

2017-11-09 21:55:34 471

转载 Scala中的方法和函数

1.定义方法 方法的返回值类型可以不写,编译器可以自动推断出来,但是对于递归函数,必须指定返回类型2. 定义函数 3. 方法和函数的区别在函数式编程语言中,函数是“头等公民”,它可以像任何其他数据类型一样被传递和操作案例:首先定义一个方法,再定义一个函数,然后将函数传递到方法里面 object MethodAndFunctionTest { //

2017-11-08 23:04:05 547

原创 scala的输入输出函数

package day1import scala.io.StdInobject InAndOut { def main(args: Array[String]): Unit = { //输入函数 /** * readLine函数从控制台读取一行输入,可以带一个参数作为提示字符串 * 读取数字:readInt,readDouble,readByte

2017-11-08 23:01:07 3395

原创 Scala中的循环

一、for循环package day1object For { def main(args: Array[String]): Unit = { //for循环语法结构:for (i <- 表达式/数组/集合) ////for(i <- 表达式),表达式1 to 10返回一个Range(区间),每次循环将区间中的一个值赋给i for (i <- 1 to 5)

2017-11-08 22:27:52 973

原创 日常工作积累

一、如果Hive中的表存储为parquet的格式,假如我们要改字段的名字,那么改完字段后,该字段的数据全变为NULL create table temp.test1( id string, name string)partitioned by(src_file_day string) stored as parquet; insert table temp...

2017-11-07 21:50:06 324

转载 Sqoop的安装

安装 Sqoop 的前提是已经具备Java 和 Hadoop的环境安装包下载地址 http://sqoop.apache.org/安装包: sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz安装步骤:

2017-11-06 14:07:51 258

转载 Sqoop入门初介

1.Sqoop的概念Sqoop是一个在Hadoop的hdfs和关系型数据库之间传送数据的工具:传入数据:将关系型数据库(例如:MySQL、Oracle、等)里的数据导入到HDFS中;传出数据:将HDFS中的数据导出到关系型数据库中。2.Sqoop的工作流程3.Sqoop的工作机制将导入或导出命令翻译成 MapReduce程序来实现,在翻译出的 Map

2017-11-06 14:07:06 303

转载 Hive的概念

1.Hive的概念       Hive 由Facebook 实现并开源, 基于Hadoop 的一个数据仓库工具,可以将结构化的数据映射为一张数据库表,并提供HQL(Hive SQL)查询功能, 底层数据是存储在HDFS 上。 Hive的本质是将 HQL 语句转换为 MapReduce 任务运行,使不熟悉MapReduce 的用户很方便地利用HQL进行数据

2017-11-06 11:24:00 1032

转载 Oracle的数据类型

ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。在讲叙字符串类型前,先要讲一下编码。字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLO

2017-11-06 10:31:46 317

原创 Scala块表达式

object BlockExpression { def main(args:Array[String]){ val x = 0 val y = 1 //在scala中{}中可包含一系列表达式,块中最后一个【表达式】的值就是块的值 //下面就是两个块表达式 val result = { //块1 if (x <= 0){ -1

2017-11-06 09:00:11 1167

原创 Scala的条件表达式

(1)条件表达式的定义 (2)条件表达式是有返回值的 (3)条件表达式的返回类型 注:如果else前的返回值和else后的返回值的返回类型不一致,那么返回的类型就是Any;    如果else之后的返回值为空,那么返回的值的类型就是AnyVal;    如果else之前的返回值为空,就会报错;    可以将() {}当做是无有用值的占位符,用Unit表示;

2017-11-05 23:26:38 2357

转载 Scala算术和操作符重载

Sala中的运算符和Java中的运算符作用是相同的,但是Scala中的运算符其实是方法 val a = 1 val b = 2 a + b //调用时候的简写,这里的+是方法名 a.+(b)scala中对方法的命名没有Java那么严格,Scala中可以使用非字母和数字来给方法命名,几乎可以使用任何符号来给方法命名a 方法 ba.方法(b)

2017-11-04 22:58:43 3223

转载 scala常用的类型

scala常用类型1.scala的7种数值类型Byte、Char、Short、Int、Float、Double2.其他的类型Boolean以上两大类型都是属于scala包中的,但是String是属于java.lang.String注:Scala中的类型和Java中的类型是有区别的,在scala中并没有刻意的区分基本数据类型和引用类型,可以对数字执行方法;

2017-11-04 22:13:43 976

转载 变量的声明

变量的声明方式:object Variable { def main(args: Array[String]) { //使用val定义的变量值是不可变的,相当于java里用final修饰的变量 val i = 1 //使用var定义的变量是可变得,但是Scala在使用的时候常用val var s = "hello" //Scala编译器会自动推断变量

2017-11-04 17:18:21 287

转载 scala编译器的安装

1.安装JDK因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK2 安装Scala(1)Windows安装Scala编译器访问Scala官网http://www.scala-lang.org/下载Scala编译器安装包,目前最新版本是2.12.x,但是目前大多数的框架都是用2.11.x编写开发的,Spark2.x使用的就是2.11.x,所以这里推荐2.11.x

2017-11-04 17:04:37 384

原创 scala入门初介

1.scala编写的大数据工具kafka、flink、spark2.scala的版本目前最新的版本:2.12.2最新且最稳定的版本:2.11.8  目前常用的是:2.10.xscala的官网:http://www.scala-lang.org/3.scala和Java的比较这里拿wordcount的例子来比较(1)Java编写的wordcount:

2017-11-04 16:36:06 572

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除