自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jamie's Blogs

WelCome!!! MyFriends!

  • 博客(61)
  • 收藏
  • 关注

原创 Impala函数支持的部分时间格式

Impala函数支持的时间格式: select add_months('2020-05-20', 2); 2020-07-20 00:00:00 // 必须补0,不能写成2020-5-9 select adddate('2020-02-20', 2); 2020-02-22 00:00:00 select current_timestamp(); 2020-08-06 16:46:36.403408000 SELECT date_add('2020-04-05', 10); 2020-04-

2020-08-06 17:16:49 916

原创 Hive使用窗口函数分时间间隔规划用户会话-lag/sum

背景用户可能在app上活跃多次,而这多次界定为半个钟,也就是说,假如我7点到8点这段期间使用了app且进行了活跃操作,隔了半个钟后我重新打开了app进行了活跃的操作,假设活跃时间区间为12点到13点,那么,7-8点这段时间我们定为session1,12-13点这段时间我们定为session2思路根据时间戳reporttime来针对用户进行排序,获取这段期间的动作时间里线,使用lag进行判别,...

2020-05-07 09:44:04 1596

原创 hive使用窗口函数实现n分位数据分析

hive使用窗口函数实现n分位数据分析hive使用窗口函数实现n分位背景hivesql实现hive使用窗口函数实现n分位实际工作中,我们可能会遇到需要获取高质量的用户、主播或者大R的白名单来进行标签输入或者精准推送促活之类的需求以下以主播中用户观看时长为例背景图片说明:横轴: 主播号纵轴: 主播当天用户观看总时长从上图我们可以得出结论,存在一批长尾用户,也就是观看时长很低的...

2020-04-21 09:45:23 1022

原创 Hive窗口函数练习题

每个用户截止到每月为止的最大单月访问次数和累计到该月的总访问次数0: jdbc:hive2://node03:10000> create table view_log(. . . . . . . . . . . . . . > name string,. . . . . . . . . . . . . . > time string,. . . . . . . . . ....

2019-12-12 23:30:06 783

原创 MySQL事务回顾

事务一个session中所进行的所有操作,要么全部成功,要么全部失败,作为单个逻辑工作单位执行的一系列操作,会满足四大特性:原子性(Atomicity):事务作为一个整体被执行 ,要么全部执行,要么全部不执行一致性(Consistency):保证数据库状态从一个一致状态转变为另一个一致状态隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行持久性(Dur...

2019-11-10 06:04:01 123

原创 多线程累加计数

多线程累加计数使用Runnable接口使用AtomicInteger加线程池使用Runnable接口public class ThreadTest { // 公共变量 int count = 0; public static void main(String[] args) { ThreadTest threadTest = new ThreadTe...

2019-11-07 14:31:24 1179

原创 SparkSQL整合Hive时org.apache.spark.sql.AnalysisException: Table or view not found:

报错信息org.apache.spark.sql.AnalysisException: Table or view not found: 解决方法第一步加配置文件在IDEA中resource目录中添加三个配置文件从(从自己的安装的集群上拷贝下来)第二步代码的配置import org.apache.spark.sql.SparkSessionimport org.apache.sp...

2019-10-22 10:18:05 1004

原创 Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hado

@[TOC](Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask (state=08S01,code=1))Hive测试环境下报错Error: Error while processing s...

2019-10-18 19:57:40 23691

原创 SparkStreaming整合Kafka代码案例1

SparkStreaming整合Kafka代码maven依赖代码import org.apache.kafka.clients.consumer.ConsumerRecordimport org.apache.kafka.common.serialization.StringDeserializerimport org.apache.spark.streaming.dstream.Inpu...

2019-10-14 21:49:04 170

原创 Scala常用操作符

scala中的操作符也是类中的方法:++ 从列表的尾部添加另外一个列表++: 在列表的头部添加一个列表+: 在列表的头部添加一个元素:+ 在列表的尾部添加一个元素:: 在列表的头部添加一个元素::: 在列表的头部添加另外一个列表...

2019-10-13 19:16:03 168

原创 Java实现快速排序和归并排序

Java实现快速排序和归并排序快速排序归并排序快速排序import java.util.Arrays;public class QuickSort01 { public static void main(String[] args) { int[] arr = {2, 9, 3, 1, 8, 4}; quick(arr, 0, arr.leng...

2019-10-11 20:29:31 503

原创 百度面试题: SQL语句查询用户登录天数

SQL语句查询用户登录天数表数据如图结果准备数据思路表数据如图结果准备数据# 准备数据0: jdbc:hive2://node03:10000> create table if not exists loadrecord(. . . . . . . . . . . . . . > uid int,. . . . . . . . . . . . . . > loa...

2019-10-10 23:06:27 680

原创 TCP三次握手和四次挥手回顾图

TCP三次握手和四次挥手回顾图

2019-10-09 09:59:58 131

原创 Spark整合Hive完整流程,欢迎留言讨论

Spark整合Hive整合hive元数据metadataHive 的 MetaStore 是一个 Hive 的组件而 Hive 的 MetaStore 的运行模式有三种Hive开启元数据服务如果没有添加下面这一段,启动spark会报错启动hive元数据服务同时需要加载其他配置,包括HDFS测试整合hive元数据metadataMetaStore, 元数据存储SparkSQL 内置的有一个...

2019-10-06 19:01:39 427

原创 nginx整合Kafka

nginx整合Kafka需求: 将网站产生的用户日志使用通过nginx写入Kafka中,不通过log文件和flume采集前端测试代码: 使用ajax发送用户数据 /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { //在这个事件中,记录用户的行为,然后发送到后台服务器 //获取当前位置 wx.ge...

2019-10-04 16:56:48 1500

原创 Spark自定义分区解决手机号分区

Spark自定义分区解决手机号分区需求: 自定义分区对手机号按前三位进行分区怎么分区而HashPartitioner的实现是通过继承org.apache.spark.Partitioner类,重写了numPartitions和getPartition方法,这样,我们只需要自定义一个类,继承Partitioner类并实现里面的方法就可以完成,代码演示如下测试代码需求: 自定义分区对手机号按前三位进...

2019-09-28 19:09:34 331

原创 Spark使用mapPartitions获取分区下的元素

mapPartitions解析底层源码 /** * Return a new RDD by applying a function to each partition of this RDD. * * `preservesPartitioning` indicates whether the input function preserves the partitioner,...

2019-09-27 17:09:21 582

原创 Spark之combineByKey算子

Spark之combineByKeygroupByKey和ReduceByKey均是有combineByKey实现作用调用参数注意点groupByKey和ReduceByKey均是有combineByKey实现作用 对数据集按照 Key 进行聚合调用 combineByKey(createCombiner, mergeValue, mergeCombiners, [part...

2019-09-27 10:56:03 133

原创 Spark实现TopN计算

import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}object TopN { def main(args: Array[String]): Unit = { val topN = new SparkConf().setMaster("local[4]").se...

2019-09-26 20:06:51 1749

原创 MapReduce规约浅谈

MapReduce阶段的kv变化MapReduce是通过inputformat类读取文件产生K1,V1,map阶段读取数据,产生K2,V2;而Reduce阶段通过拉取map阶段的数据进行处理产生新的K3,V3在map阶段读取数据产生K2,V2之后,我们可以通过使用combiner规约来将map阶段的k2进行合并,V2生成集合,也就是从而减少生成文件的大小,减少reduce读取map阶段文件的网...

2019-09-26 19:13:37 290

原创 Spark之reduceByKey详解

Spark算子reduceByKey详解reduceByKey与groupByKey不同之处相同之处reduceByKey与groupByKey不同之处reduceByKey,多了一个rdd,MapPartitionsRDD,存在于stage0的,主要是代表了进行本地数据规约之后的rdd,网络传输的数据量,以及磁盘IO等,会减少,性能更高相同之处后面进行shuffle read和聚合的...

2019-09-26 18:30:29 2176

原创 Spark入门WordCount案例(Java和scala实现)

import org.apache.spark.SparkConf;import org.apache.spark.SparkContext;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaS...

2019-09-25 18:31:29 304 1

原创 Scala隐式转换与隐式参数

所谓隐式转换,是指以implicit关键字声明的带有单个参数的方法。它是自动被调用的,自动将某种类型转换为另外一种类型。隐式转换的使用步骤:在object中定义隐式转换方法(使用implicit)在需要用到隐式转换的地方,引入隐式转换(使用import)自动调用隐式转化后的方法示例:使用隐式转换,让File具备有readaclass RichFile(val f:File) {...

2019-09-24 17:58:26 86

原创 在本地和Centos上使用jar包运行java程序

本地Windows10确定程序所需jar包创建独立文件在独立文件下创建两个目录,一个是lib,一个是conflib用来存放所有所需jar包conf用来存放配置文件(**.properties)将打包好的jar包和pom文件一同拷贝过来编写bat或cmd文件举个例子: 使用HBase消费Kafka消息程序第一步:编写程序,我们这里使用maven打包拷贝jar包到创建的独立目录...

2019-09-24 14:42:20 1289

原创 org.apache.flume.ChannelFullException: Space for commit to queue couldn't be acquired

flume启动出现异常异常报告如下原因:解决方式异常报告如下19/09/24 11:46:57 ERROR source.ExecSource: Failed while running command: tail -F -c +0 /export/callLog/call.logorg.apache.flume.ChannelFullException: Space for commit ...

2019-09-24 12:00:41 842

原创 Java集合面试整理LIst,Map,Set

Java集合面试整理1:聊一下常见的集合吧Collection接口和Map接口是所有集合框架的父接口2:HashMap和Hashtable的区别3:HashMap怎么解决hash值的冲突4:HashMap为什么不直接使用hashcode()处理后的哈希值直接作为table的下标5:为什么HashMap中的String,Integer这样的包装类适合作为K5:ArrayList和Vector的区别6...

2019-09-23 13:06:59 333 1

原创 ZooKeeper分布式锁详解

ZooKeeper分布式锁详解分布式锁机制假设客户端A抢先一步,对zk发起了加分布式锁请求,这个加锁请求用到了zk中的一个特殊概念,叫做临时顺序节点简单来说,就是在My_lock这个锁节点上创建了一个顺序节点,在zk内部自行维护的一个节点顺序号举个栗子:​ 第一个客户端来搞一个顺序节点,zk内部会给起个名字叫做:xxx-000001.然后第二个客户端来搞一个顺序节点,zk可能会起个名字...

2019-09-22 23:47:27 223

原创 Scala并发编程WordCount案例

WordCount案例接下来,我们要使用Actor并发编程模型实现多文件的单词统计。案例介绍给定几个文本文件(文本文件都是以空格分隔的),使用Actor并发编程来统计单词的数量思路分析实现思路MainActor获取要进行单词统计的文件根据文件数量创建对应的WordCountActor将文件名封装为消息发送给WordCountActorWordCountActor接收消息,...

2019-09-22 15:35:35 338

原创 Scala并发编程发送和接收自定义消息

发送和接收自定义消息我们前面发送的消息是字符串类型,Actor中也支持发送自定义消息,常见的如:使用样例类封装消息,然后进行发送处理。示例一示例说明创建一个MsgActor,并向它发送一个同步消息,该消息包含两个字段(id、message)MsgActor回复一个消息,该消息包含两个字段(message、name)打印回复消息[!TIP]使用!?来发送同步消息在Actor...

2019-09-22 15:34:24 151

原创 Scala并发编程持续接收消息

持续接收消息通过上一个案例,ActorReceiver调用receive来接收消息,但接收一次后,Actor就退出了。object ActorSender extends Actor { override def act(): Unit = { // 发送字符串消息给Actor2 val msg = "你好,ActorSender" println(s"Actor...

2019-09-22 15:33:38 126

原创 Scala并发编程发送和接受消息

发送消息/接收消息我们之前介绍Actor的时候,说过Actor是基于事件(消息)的并发编程模型,那么Actor是如何发送消息和接收消息的呢?使用方式发送消息我们可以使用三种方式来发送消息:!发送异步消息,没有返回值!?发送同步消息,等待返回值!!发送异步消息,返回值是Future[Any]例如:要给actor1发送一个异步字符串消息,使用以下代码...

2019-09-22 15:32:56 260

原创 Scala并发编程创建Actor

创建Actor创建Actor的方式和Java中创建线程很类似,也是通过继承来创建。使用方式定义class或object继承Actor特质重写act方法调用Actor的start方法执行Actor[!NOTE]类似于Java线程,这里的每个Actor是并行执行的示例示例说明创建两个Actor,一个Actor打印1-10,另一个Actor打印11-20使用cl...

2019-09-22 15:32:15 107

原创 Scala并发编程Actor介绍

Scala并发编程Actor介绍Actor介绍Java并发编程的问题Actor并发编程模型Java并发编程对比Actor并发编程Actor介绍scala的Actor并发编程模型可以用来开发比Java线程效率更高的并发程序。我们学习scala Actor的目的主要是为后续学习Akka做准备。Java并发编程的问题在Java并发编程中,每个对象都有一个逻辑监视器(monitor),可以用来控...

2019-09-22 15:31:19 191

原创 Scala泛型协变逆变非变

协变、逆变、非变spark的源代码中大量使用到了协变、逆变、非变,学习该知识点对我们将来阅读spark源代码很有帮助。来看一个类型转换的问题:class Pair[T]object Pair { def main(args: Array[String]): Unit = { val p1 = Pair("hello") // 编译报错,无法将p1转换为p2 ...

2019-09-21 20:15:23 155

原创 Scala泛型上下界

上下界需求:我们在定义方法/类的泛型时,限定必须从哪个类继承、或者必须是哪个类的父类。此时,就需要使用到上下界。上界定义使用<: 类型名表示给类型添加一个上界,表示泛型参数必须要从该类(或本身)继承语法格式[T <: 类型]示例示例说明定义一个Person类定义一个Student类,继承Person类定义一个demo泛型方法,该方法接收一个Array参数...

2019-09-21 20:09:13 292

原创 Scala正则表达式

正则表达式正则表达式定义示例一示例二示例三正则表达式在scala中,可以很方便地使用正则表达式来匹配数据。定义Regex类scala中提供了Regex类来定义正则表达式要构造一个RegEx对象,直接使用String类的r方法即可建议使用三个双引号来表示正则表达式,不然就得对正则中的反斜杠来进行转义val regEx = """正则表达式""".rfindA...

2019-09-21 19:20:26 260

原创 Scala使用match匹配类型

Scala使用match匹配类型// stripMargin表示删除前面的竖线,这样看起来会显得比较整齐val prompt = """ |0:字符串类型 |1:整形 |2:浮点型 |3:Person对象类型 | |请选择: """.stripMarginprintln(prompt)val select = StdIn.read...

2019-09-20 19:53:44 977

原创 Linux常用命令总结

Linux常用命令总结1、常用操作查看当前目录下的所有文件及目录ls/ll进入目录cd查看当前目录pwd结束当前进程ctrl+c/ctrl+z新建目录mkdir dir1[ dir2 dir3 dir4] 新建四个dir删除目录rm -rf dir 删除目录下及目录下的所有文件递归创建目录mkdir -p /dir...

2019-09-19 23:09:12 66

原创 Hive行转列拆分JSON案例1

需求:现在有一些数据格式如下:a:shandong,b:beijing,c:hebei|1,2,3,4,5,6,7,8,9|[{"source":"7fresh","monthSales":4900,"userCount":1900,"score":"9.9"},{"source":"jd","monthSales":2090,"userCount":78981,"score":"9.8"},{...

2019-09-19 17:24:43 1611

原创 leetcode之重复分数排名

leetcode之重复分数排名题目描述答案解析题目描述编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rank-scores著作权归领扣网络所有。商业转载请联系官...

2019-09-19 12:21:09 326

空空如也

空空如也

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

TA关注的人

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