- 博客(13)
- 资源 (4)
- 收藏
- 关注
原创 SparkStreaming自定义数据源(即接收器)
自定义数据源(即接收器)实现接收sockey的接收器 集成Receiver抽象类 ,具体使用细节可查看Receiver 代码中注释部分有详细说明onStart启动一个子线程来结束数据接收到的数据通过调用store(data)传递给其他执行器进行处理如果发生异常,会重启接收器(按照顺序调用onStop,onStart)onStop释放资源package com.chen.sparksteaming.apiimport java.io.{BufferedReader, Inp
2020-08-27 17:41:00 372
原创 SparkSql自定义强类型、弱类型聚合函数
自定义弱类型package com.chen.sparksql.funcimport org.apache.spark.sql.expressions.{MutableAggregationBuffer, UserDefinedAggregateFunction}import org.apache.spark.sql.types.{DataType, DoubleType, LongType, StructField, StructType}import org.apache.spark.sql.
2020-08-25 16:42:41 484
原创 Spark广播变量与累加器
累加器解决了在Driver端创建的变量在Task中修改但最终不会修改Driver端的变量(Task修改的只是副本,不会同步回Execute)解决了共享变量写的问题当需要一个累加变量时,再Driver 定义作为计数的变量,会复制到Executor中RDD执行时候通过代码对其进行累加,但是结果不会被收集回Driver中,使用累加器可以把Executor的变量值收集回Driver并进行累加注意:累加器再Driver端定义初始化。1.6版本在Excutor不能使用.value 获取累加器的值Demoi
2020-08-23 17:22:00 155
原创 Spark分区器:HashParititioner、RandPartitioner、自定义分区器
HashParititioner聚合算子默认分区器 通过hash值分区RandPartitioner范围分区器排序类算子默认分区器使用水塘抽样算法(抽样概率相同),对数据进行抽样来划分数据边界数组:数组长度由分区数决定,通过水塘抽样计算出数据切分的范围 存放在边界数组中源码:/*** A [[org.apache.spark.Partitioner]] that partitions sortable records by range into roughly* equal range
2020-08-20 18:13:36 295
原创 Spark 使用 Kyro 序列化
序列化解决Driver端创建的对象 在Execute端传输问题方式一:使用Java Serializable接口【Spark默认】优点:简单,不需要额外的工作java自带,方便缺点:序列化速度慢序列化后size比较大hadoop中采取了自定义序列化 …Writable方式二: Kyro 第三方序列化【Spark支持】优点:序列化后的size 大概是Serializable 十分之一 val conf = new SparkConf().setAppName("Demo
2020-08-19 22:51:52 262
原创 scala之模式匹配
一句话解释类似java中switch ,比switch更强大,可以匹配类型基本使用格式:要匹配的值 match {case 选项 => 操作} val a = 10 val b = 20 val op: String = StdIn.readLine("请输入一个运算符:") val result:Int = op match { case "+" => a + b case "-" =>
2020-08-18 15:33:34 92
原创 scala之偏函数
一句话解释只对于偏爱的值进行处理,其他值不进行处理定义偏函数定义方式一【不推荐该方式】 val list1 = List(1, 2, 3, "a", true) // 实现 PartialFunction[输入类型,输出类型]{} val f = new PartialFunction[Any, Int] { // 只对返回true的时候交给apply处理 override def isDefinedAt(x: Any): Boolean = x.
2020-08-18 14:57:37 143
原创 Spark 基础知识点、三种模式安装
环境说明centos 7.5spark-2.1.1Spark 内置模块[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4F5IqC5c-1597227561772)(spark知识点/New Mockup 1.png)]Spark local 模式安装直接解压即可,无需配置(spark-2.1.1-bin-hadoop2.7.tgz 集成hadoop环境包 )local 模式下测试# 提交任务 使用spark案例 计算pibin/spark-submit -
2020-08-12 18:20:17 450
原创 Hive函数Demo3:排序函数
/*数据集孙悟空 语文 87孙悟空 数学 95孙悟空 英语 68大海 语文 94大海 数学 56大海 英语 84宋宋 语文 64宋宋 数学 86宋宋 英语 84婷婷 语文 65婷婷 数学 85婷婷 英语 78*/-- 创建表create table score(name string,subject string,score int)row format delimited fields terminated by "\t";--导入数据load data
2020-08-07 23:01:00 132
原创 Hive函数之窗口(开窗)函数
官方介绍LanguageManual WindowingAndAnalytics一句话解释开窗作用使用开窗函数可以在一个select语句中且不使用子查询的情况下,显示同一指标不同维度的数据。(这么说虽然片面,但是便于理解,实际开窗函数的作用远远超出该描述,具体请看下面案例理解)开窗函数格式格式:over(partition by 要分组字段**,order by** 要排序的字段 window_clause)其中 partition by ,order by ,window_clause 均为可
2020-08-07 21:35:49 938
原创 Hive函数Demo2:字符串拼接函数、炸裂函数、侧写、行专列、列转行
/* 相关函数*/-- 拼接字符串,输入多个字符串select concat('a','b','c');-- 拼接字符串并指定分隔符select concat_ws(',','a','b','c');-- 炸裂函数 拆分数组为一行多列 map为2行多列select explode(array('a','b','c'));-- 侧写 用法:LATERAL VIEW udtf(expression) tableAlias AS columnAlias-- 解释 用于和split, ex
2020-08-06 23:44:33 924
原创 Hive函数Demo1:基础常用函数
-- 查看说明desc function extended 函数名/**/。-- 返回时间戳select unix_timestamp();select unix_timestamp('2019-01-01 01:01:01');select unix_timestamp('20190101 010101','yyyyMMdd HHmmss');-- 时间戳转时间select from_unixtime(1546304461,'yyyy-MM-dd HH:mm:ss');-- 返回当
2020-08-06 19:48:26 134
原创 Hive自定义UDF&UDTF函数
pom.xml <properties> <project.build.sourceEncoding>UTF8</project.build.sourceEncoding> <hive.version>1.2.1</hive.version> </properties> <repositories> <repository>
2020-08-03 14:55:43 384
寺冈条码机驱动_UP46_UP462_UP463_GP-470
2019-01-16
RealVNC(WinVNC)v5.3.1(带序列号)
2019-01-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人