自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hive中的union与union all的区别

1.union all 和union的使用及区别 1.首先需要注意的是:在hive 0.12.0版本以前,union只能在子查询中使用。在hive 1.2.0版本以前,Hive只支持union all而不支持union(需观察当前生产hive版本是否支持)。union的使用语法如下:select_statement UNION [ALL | DISTINCT] select_state...

2020-04-21 16:07:01 9122

原创 Flink之究极通俗详解Watermark与EventTime

运营小姐姐:我想要个实时模型每隔5秒统计下最近10秒的呼出失败用户

2020-04-14 00:13:01 497

原创 Hive之count (distinct)剖析与优化

市场部小姐姐:我的sql为啥这么慢呀?

2020-04-11 00:17:14 2955

原创 Scala之特质

一个类扩展自一个或多个特质,以便使用这些特质提供的服务。特质可能要求使用它的类支持某个特定的特性。不过,与Java的接口不同,scala特质可以给出这些特性的缺省实现,因此,与接口相比,特质要有用的多。point:1.类可以实现任意数量的特质。2.特质可以要求实现它们的类具备特定的字段,方法和超类。3.和Java接口不同,scala特质可以提供方法和字段的实现。4.当多个特质叠加在一起时...

2020-01-31 14:27:24 348

原创 Scala之继承详解

1.扩展类使用extends关键字扩展类class Employee extends Person { var age = 10 ...}在定义中给出子类需要而超类没有的字段和方法,或者重写超类的方法。和Java一样,可以将类声明为final,这样它就不能被扩展,还可以将当个方法或字段声明为final,以确保他们不能被重写。2.重写方法在scala中重写一个非抽象方法必须使用ov...

2020-01-07 17:05:41 418

原创 Spark ml之Binarizer

Binarizer 二值化器Binarization 二值化是将数值特征阀值化为二进制(0/1)特征的过程。Binarizer(ML提供的二元化方法),二元化涉及的参数有inputCol,outputCol和threshold阀值, 输入的特征值大于阀值将二值化为1.0,小于等于阀值的将二值化为0.0,inputCol支持向量Vector和双精度Double类型示例:import or...

2020-01-02 15:01:48 370

原创 Spark ml之N-Gram

一个n-gram是一个长度为n的字的序列。 N-Gram的输入为一系列的字符串,例如Tokenizer分词器的输出。参数n表示每个n-gram中单词terms的数量,输出由n-gram序列组成,其中每个n-gram由空格分隔的n个连续词的字符串表示 如果输入的字符串序列少于n个单词,NGram输出为空示例:import org.apache.spark.ml.feature.NGrami...

2019-12-31 16:18:30 393

原创 Spark ml之StopWordsRemover

停用词stop words是在文档中频繁出现的词,但未携带太多意义的词,他们不应该参与到算法的运算中StopWordsRemover是将输入的字符串(一般是分词器的Tokenizer的输出)中的停用词删除停用词表由stopWords参数指定,对于某些语言的默认停用词表是通过调用StopWordsRemover.loadDefaultStopWords(language),可用的选项为"丹麦"...

2019-12-31 10:12:17 742

原创 Spark ml之Tokenizer

Spark ml中的Tokenizer(分词器)Tokenizer是将文本如一个句子拆分城单词的过程,在spark ml中提供Tokenizer实现此功能RegexTokenizer提供了跟高级的基于正则表达式匹配的单词拆分。默认情况下,参数pattern(默认的正则表达式:"\s+") 作为分隔符用于拆分输入的文本,或者,用户将参数 gaps设置为false,指定正则表达式pattern表示...

2019-12-30 16:00:39 1612

原创 Scala之对象(单例对象,伴生对象,apply方法,应用程序对象和枚举)

1.单例对象scala没有静态方法或静态字段,但我们可以用object这个语法结构来达到同样目的。对象定义了某个类的单个实例,包含了我们想要的特性。如:object Accounts { private var lastNumber = 0 def newUniqueNumber() = { lastNumber += 1;lastNumber}}当想要一个新账号时,调用Acc...

2019-12-24 22:35:48 306

原创 Scala之类(getter与setter属性,主构造器和辅助构造器)

scala中的类的特点:1.类中字段自动实现getter和setter方法2.可以实现自定义getter和setter方法3.使用@BeanProperty注解生成getXXX和setXXX方法4.每个类有一个主构造器,随类定义一起声明,参数可以直接成为类字段,主构造器执行类体中的所有语句。5.可以拥有任意多的辅助构造器,叫做this。1.简单类与无参方法class Person {...

2019-12-19 21:04:47 583

原创 Scala之Array数组

数组作为一种最常见的数据结构,想来大家已经熟悉,本篇主要介绍scala中Array的使用。数组中的元素都是同一种数据类型。数组在scala中也分为定长数组和变长数组。1.定长数组定长数组:即数组长度固定不变实例: val array1 = new Array[Int](10) //初始元素都为0的长度为10的Int类型数组 val array2 = new Array[String...

2019-12-12 23:00:37 392

原创 Scala之Tuple元组

Tuple元组元组Tuple是一组不同类型值的集合,被圆括号包含。如:val tuple = ("scala",10)在scala中,元组有以下几个特点:1.元组是可以包含不同类型的元素的2.元组的索引是从1开始的,而像Array数组的索引是从0开始的对于元组的元素可以使用_1,_2…来访问,如object Tuple { def main(args: Array[String...

2019-12-11 20:24:10 396

原创 Hive之lateral view和explode的使用详解

关于explode函数explode()其实就是一个UDTF——用户自定义表生成函数,而表生成函数官方定义是接受零个或多个输入,产生多列或多行的输出,就像explode的含义一样,生成爆炸一样的效果,将数据散开。explode()一般接受Array类型的数组为入参,对数据中的元素进行迭代,再返回多行结果,比如:返回结果为:为了更好的切合实际运用和大家理解,我使用一个生产中的字段格式,该...

2019-12-11 10:06:46 1269

原创 Hive之get_json_object函数

–使用场景在实际采集场景中,主动采集或被动推送的文件字段可能含有json串,此类多是爬虫数据或是日志数据,hive提供了一类json解析函数在对此类数据通过进行预处理和清洗,此篇介绍get_json_object函数–数据准备此时DW中存在一张的DWD表,其中包含了json对象的字段(此表其实仍属于一类业务过程的事实表,只是字段包含了json对象,所以是存放在DWD层,而不是在ODS做处理)...

2019-11-29 10:07:03 3061

原创 FTP遍历目录查找指定目录下的文件导入HDFS

最近有个需求,ftp主机上有很多目录,目录下层级不一,需要把父目录下所有满足的文件夹下的指定文件下载到HDFS,并且保留目录结构,因为数据在ftp主机已经落地,如果用公司内部的etl工具并不好实现这种层级不一的文件导入,故改用开发代码去实现。思路:1.遍历ftp指定目录,找到指定文件夹的路径2.拿到所有文件夹的路径,下载到hdfs实现(这里只放本地测试代码):1.FTP连接工具类i...

2019-03-27 14:41:15 1179

空空如也

空空如也

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

TA关注的人

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