- 博客(53)
- 资源 (1)
- 收藏
- 关注
原创 flink实时项目电商用户行为分析(3)---实时流量统计之PV统计
1.知识点scala样例类 计算pv时的key的处理方式。 1)并行处理 (解决数据倾斜问题) 先map(new MyMapper())//第二种方式:自定义mapper,生成一个随机生成的key 再以窗口结束时间做key分组求和 2) 并行度为1时,结合timeWindowAll如何处理(容易数据倾斜)MapFunction的的使用 AggregateFunction预聚合函数的使用 W...
2021-07-29 19:15:20
659
1
原创 flink实时项目电商用户行为分析(5)---实时流量统计之UV统计之布隆过滤器实现
1.知识点scala输入输出样例类 keyBy并行度为1计算UV的技巧map(data => ("uv", data.userId))..keyBy(_._1) keyBy并行度>1计算UV的技巧 自定义MapFunction,随机自定义key+"uv"Random.nextString(10) + "uv" WindowedStream.trigger的使用 trigger触发器,每来一条数据直接清空窗口,放到redis进行计算...
2021-07-29 18:56:24
713
原创 flink实时项目电商用户行为分析(2)---实时流量统计之热门页面PV统计
1.知识点2.业务目标3.流程心法4.模块详解4.1 创建输入输出样例类4.2 主object实现4.2.1 创建执行环境并添加数据源4.2.2 Datastream map转换为输入样例类4.2.3 处理逻辑(1)----过滤PV以itemid分组,设置滑动窗口返回一个WindowedStream,调用其aggregate方法,分组计数4.2.4处理逻辑(2)----分组排序取TopN4.3 完整代码...
2021-07-25 22:47:57
740
1
原创 flink实时项目电商用户行为分析(1)---实时流量统计之实时热门商品统计
1.知识点如何定义scala样例类 如何设置事件时间语义,给stream赋一个时间特征 如何添加文件source和kafka source 如何提取业务时间戳并设置为自增watermark 如何使用aggregate(AggregateFunction,WindowFunction),预聚合然后再进行窗口内统计 如何使用KeyedProcessFunction进行topN的计算 如何创建状态和获取状态 如何使用定时器OnTimer进行事件触发2.业务目标每隔 5 分钟...
2021-07-25 21:02:37
735
1
原创 flink+iceberg(1)-入湖的几种方式
目录1.flink-sql:kafka流表到iceberg1.1 启动flink-sql客户端1.2 创建hive_catalog1.3 创建iceberg db1.4 创建iceberg Table1.5 创建kafka流表1.6 kafka流表插入iceberg表1.7 数据查询2.Api接口代码入湖1.Flink-sql客户端入湖1.1 启动flink-sql客户端进入flink的Home目录xxx/flink/flink-1.11.3./..
2021-07-06 18:54:53
441
原创 flink实时项目电商用户行为分析(7)---商业指标统计分析之页面广告分析
1.知识点scala样例类 flink读文件 assignAscendingTimestamps水位线 KeyedProcessFunction<K, I, O>使用 flink状态编程之键控状态 flink定时器的创建 ctx.timerService().registerProcessingTimeTimer(ts)flink定时器的触发操作,一般可以对状态进行清空 override def onTimer(timestamp: Long, ctx: Ke...
2021-07-02 19:41:42
504
3
原创 flink实时项目电商用户行为分析(6)---商业指标统计分析之市场推广统计
1.知识点RichSourceFunction-自定义生成测试数据 自定义ProcessWindowFunction[IN, OUT, KEY, W <: Window] 设置水印之assignAscendingTimestamp 2.业务目标 每5秒钟计算前1小时或1天的各渠道下的各行为数据 窗口:1天 步长:5s 维度:渠道(appstore、weibo、weixin、tieba)、行为(浏览、下载、安装、卸载) 输出格式:...
2021-07-02 16:12:07
339
1
转载 Mac使用gitbook创建电子书
摘要:gitbook是开源书籍的平台,公司目前的一些开发文档,还有使用文档都是使用gitbook管理,用起来很方便,所以这里分享一下创建方法安装gitbook安装npm从https://nodejs.org/#download下载安装node.js安装成功之后打开终端输入npm-v显示如下:说明安装成功安装gitbooksudonpminstall-ggitbook-cli安装成功之后终端:...
2018-12-01 20:28:14
595
转载 sparkstreaming kafka010
SparkStreaming消费kafka数据兴趣e族关注0人评论40人阅读2018-10-31 17:05:04概要:本例子为SparkStreaming消费kafka消息的例子,实现的功能是将数据实时的进行抽取、过滤、转换,然后存储到HDFS中。实例代码package com.fwmagic.testimport com.alibaba.fastjson.{JSON,...
2018-11-10 10:32:39
1726
转载 JDK版本任意切换
终端输入:/usr/libexec/java_home -V 查看2个版本最终安装目录:JDK 1.7:/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/HomeJDK 1.8:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home一,编辑bash_...
2018-10-24 14:40:31
378
原创 spark1.63升级到spark2.3.1环境变量配置
由于spark2.3需要jdk1.8的支持,因此spark-submit与spark-sql需要指定jdk版本,具体方式见测试用例1.修改个人用户配置文件.bashrc ,注释以前的spark环境与java环境,添加vi ~/.bashrc #export SPARK_HOME=/opt/core/spark-1.6.3-bin-hadoop2.6 #export JAV...
2018-10-23 21:21:15
885
转载 搭建Spark源码研读和代码调试的开发环境
转载自https://github.com/linbojin/spark-notes/blob/master/ide-setup.md搭建Spark源码研读和代码调试的开发环境工欲善其事,必先利其器,第一篇笔记介绍如何搭建源码研读和代码调试的开发环境。 一些必要的开发工具,请自行提前安装:scala 2.11.8 sbt 0.13.12 maven 3.3.9 git 2....
2018-10-23 20:06:07
385
转载 Cannot find JRE '1.7'. You can specify JRE to run maven goals in Settings
这个问题通过网上找的下面的两个地方改正后依然不行。还得改一个地方: 这个问题我遇到的时候很头疼,知道问题在那里,很多百度说改tomcat,他们说的不错,或许有那部分原因,可惜我的那个很久之前就改好。其实就两个地方要改正: 如果打包还不行就直接用打包命令吧:mvn package -DskipTests...
2018-10-23 19:08:59
2567
原创 spark2.3.1+jdk1.8向下兼容1.7(生产机器为jdk1.7)
1、打包<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>${spark.version}</version> <!
2018-10-23 16:22:29
1534
原创 spark运行时出现错误Caused by: java.lang.ClassNotFoundException: org.apache.spark.rdd.RDD
原因:自己在pom文件中加入 <scope>provided</scope>此标签表示编译环境可用,运行时则不可用,主要是在 打包时不将这些依赖打进来,因为服务器上有,以免包过大解决方案:本地运行时注销掉<scope>provided</scope>,reimport maven projects Exception in th...
2018-10-23 16:15:22
13205
1
原创 给孩子积极心理暗示的语句实操
1、场景:摔倒 积极暗示:摔跤没什么大不了,自己应该勇敢地爬起来2、场景:发呆 积极暗示:我的孩子不是在发呆,而是在沉思,在想问题,他将来一定是一位了不起的大学教授3、场景:装扮 积极暗示:真像大博士4、场景:在别人面前当着孩子面夸孩子 积极暗示:1)铄铄知道蔬菜有营养,所以即使碰到不喜欢也愿意吃一点 ...
2018-10-07 23:01:13
3360
转载 kylin详细介绍
OLAP(on-Line AnalysisProcessing)的实现方式ROLAP:基于关系数据库的OLAP实现(Relational OLAP)。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成了"星型模式"。对于层次复杂的维...
2018-09-30 11:12:12
20631
转载 kylin cube构建详解
在使用Kylin的时候,最重要的一步就是创建cube的模型定义,即指定度量和维度以及一些附加信息,然后对cube进行build,当然我们也可以根据原始表中的某一个string字段(这个字段的格式必须是日期格式,表示日期的含义)设定分区字段,这样一个cube就可以进行多次build,每一次的build会生成一个segment,每一个segment对应着一个时间区间的cube,这些segment的时...
2018-09-30 10:50:07
1040
转载 kylincube分析
在本篇博客中,我将给大家带来关于Kylin的Cube方面的分析,其中包括如何去查看Cube中Cuboid统计信息,Cube大小等,但是不涉及Cube方面的优化。如果对Cube优化比较感兴趣的话,可以去查阅我之前写的关于Cube优化的文章。 1. Cuboid,Cube和Segment理解什么是Cuboid?什么是Cube?什么是Segment?我们这里简单说,不搞专业术语...
2018-09-30 10:21:22
374
转载 Kylin增量cube build的restAPI的时间不准确的BUG
Kylin1.6增量cube build的restAPI的时间不准确的bug:描述:使用restAPI:curl -X PUT -u "ADMIN:KYLIN" -H "Content-Type:application/json;charset=utf-8" -d '{"startTime":1508601600000,"endTime":1508688000000,"buildType":".
2018-09-30 10:10:07
396
原创 读书笔记-读书计划
随着年龄的增长,工作年限的增长,越发觉着自己需要补充更多的能量,补充更多的知识,在谈吐、在见识上能别具一格,心中的好奇心也不断指引着自己去探索人类历史各个阶段积累的思想精华,经济、心里、哲学、历史,心中有一个声音一直在说:“这辈子如果不能系统的了解这些人类积淀的文化思想,岂不是白白走这一遭”。 在此,在这个技术博客覆盖的空间里,我将开始记录自己的读书心得,严肃的开始我的读书之旅。 第一阶...
2018-08-31 16:39:09
686
转载 在IDEA中调试运行Spark SQL
2016年08月04日 11:07:35阅读数:4630昨晚想通过调试的方式阅读一下Spark SQL的源码, 用spark-sql命令行需要跨进程调试,太麻烦,于是尝试了一下在IDEA中运行和调试.结果不出所料,虽然最终可以在IDEA中成功运行了,不过中间还是遇到了不少问题,在这篇文章中总结一下.应用程序比较简单: case class Person...
2018-07-27 11:30:29
1839
转载 spark常见错误汇总
原文地址:https://my.oschina.net/tearsky/blog/629201摘要: 1、Operation category READ is not supported in state standby 2、配置spark.deploy.recoveryMode选项为ZOOKEEPER 3、多Master如何配置 4、No Space Left on ...
2018-07-27 11:28:35
7723
转载 Spark 下操作 HBase(1.0.0 新 API)
Spark 下操作 HBase(1.0.0 新 API)HBase经过七年发展,终于在今年2月底,发布了 1.0.0 版本。这个版本提供了一些让人激动的功能,并且,在不牺牲稳定性的前提下,引入了新的API。虽然 1.0.0 兼容旧版本的 API,不过还是应该尽早地来熟悉下新版API。并且了解下如何与当下正红的 Spark 结合,进行数据的写入与读取。鉴于国内外有关 HBase 1.0.0 新 ...
2018-07-23 21:03:16
188
原创 解决scala - Object apache is not a member of package org - ...
Rebuild Project
2018-07-20 19:58:43
19639
4
转载 IntelliJ IDEA如何运行单个程序?
IntelliJ IDEA如何运行单个程序?目前在使用IDEA学习JAVA,遇到了一个奇怪的问题,我想运行当前单个程序,但是运行完总是弹出其他程序的错误,这怎么解决? 好像IDEA每次运行程序都是…显示全部关注者45被浏览22,641关注问题写回答2 条评论分享邀请回答举报9 个回答默认排序陈村剑桥大学NLP组//自由而无用的程序员26 人赞同了该回答一个迅速的解决方法:Run - E...
2018-07-09 15:00:44
13556
转载 IDEA总是提示Cannot resolve symbol
最近在学习Spring,已经导入了所有需要的包,还是一直报Cannot resolve symbol 百度后发现几种方法: 1.File->Invalidate Caches/Restart 清除缓存重启 2.maven -> Reinport、 3.电脑重启反正我是最后一步才成功的...
2018-07-09 14:42:48
8014
2
转载 Parquet与ORC:高性能列式存储格式
2016年07月09日 20:37:22阅读数:18081背景随着大数据时代的到来,越来越多的数据流向了Hadoop生态圈,同时对于能够快速的从TB甚至PB级别的数据中获取有价值的数据对于一个产品和公司来说更加重要,在Hadoop生态圈的快速发展过程中,涌现了一批开源的数据分析引擎,例如Hive、Spark SQL、Impala、Presto等,同时也产生了多个高性能的列式存储格式,例如RCFil...
2018-07-02 14:28:42
225
转载 Hive性能优化之ORC索引–Row Group Index vs Bloom Filter Index
Hive性能优化之ORC索引–Row Group Index vs Bloom Filter Index Hive lxw1234@qq.com 2年前 (2016-04-08) 9706℃ 3评论关键字: orc、index、row group index、bloom filter index之前的文章《更高的压缩比,更好的性能–使用ORC文件格式优化Hive》中介绍了Hive的ORC文...
2018-07-02 14:27:52
2342
转载 更高的压缩比,更好的性能–使用ORC文件格式优化Hive
更高的压缩比,更好的性能–使用ORC文件格式优化Hive Hive lxw1234@qq.com 2年前 (2016-04-05) 15492℃ 2评论关键字:orc、index、hiveHive从0.11版本开始提供了ORC的文件格式,ORC文件不仅仅是一种列式文件存储格式,最重要的是有着很高的压缩比,并且对于MapReduce来说是可切分(Split)的。因此,在Hive中使用ORC作...
2018-07-02 11:13:28
2834
转载 首页 Hadoop Spark Hive Kafka Flume 大数据平台 Kylin 专题文章 Spark算子 一起学Hive Hive存储过程 Hive分析函数 Spark On Yarn 数据
关键字: orc、index、row group index、bloom filter index之前的文章《更高的压缩比,更好的性能–使用ORC文件格式优化Hive》中介绍了Hive的ORC文件格式,它不但有着很高的压缩比,节省存储和计算资源之外,还通过一个内置的轻量级索引,提升查询的性能。这个内置的轻量级索引,就是下面所说的Row Group Index。其实ORC支持的索引不止这一种,还有一...
2018-07-02 11:01:06
772
转载 Hive分区、分桶操作及其比较
2014年12月13日 17:39:29阅读数:126641,Hive分区。 是指按照数据表的某列或某些列分为多个区,区从形式上可以理解为文件夹,比如我们要收集某个大型网站的日志数据,一个网站每天的日志数据存在同一张表上,由于每天会生成大量的日志,导致数据表的内容巨大,在查询时进行全表扫描耗费的资源非常多。那其实这个情况下,我们可以按照日期对数据表进行分区,不同日期的数据存放在不同的分区,...
2018-07-02 10:46:03
174
转载 hive distinct优化
2018年01月05日 15:27:39阅读数:103hive针对count(distinct xxx)只产生一个reduce的优化。0x00 造成的原因由于使用了distinct,导致在map端的combine无法合并重复数据;对于这种count()全聚合操作时,即使设定了reduce task个数,set mapred.reduce.tasks=100;hive也只会启动一个reducer。这...
2018-07-02 10:43:58
2012
转载 hive的distribute by应用
hive的distribute by应用博客分类: hive hive中的distribute by是控制在map端如何拆分数据给reduce端的。hive会根据distribute by后面列,根据reduce的个数进行数据分发,默认是采用hash算法。对于distribute by进行测试,一定要分配多reduce进行处理,否则无法看到distribute by的效果。hive> sel...
2018-07-02 04:43:20
12958
1
转载 PYTHON装饰器
Python装饰器(decorator)是在程序开发中经常使用到的功能,合理使用装饰器,能让我们的程序如虎添翼。装饰器引入初期及问题诞生假如现在在一个公司,有A B C三个业务部门,还有S一个基础服务部门,目前呢,S部门提供了两个函数,供其他部门调用,函数如下:def f1(): print('f1 called')def f2(): pr...
2018-07-01 23:40:30
152
转载 HIVE自定义函数之UDF,UDAF和UDTF
HIVE自定义函数之UDF,UDAF和UDTF2016年04月29日 18:00:28阅读数:4533 hive允许用户使用自定义函数解决hive 自带函数无法处理的逻辑。hive自定义函数只在当前线程内临时有效,可以使用shell脚本调用执行hive命令。UDF输入一行数据输出一行数据。 解决问题描述 想要比较两个逗号分隔的字...
2018-07-01 23:39:39
875
转载 Apache Kylin 深入Cube和查询优化
2017年05月26日 17:29:13阅读数:650作者:李栋,Kyligence Inc技术合伙人兼高级软件架构师,Apache Kylin Committer & PMC Member,专注于大数据技术研发,KyBot技术负责人。毕业于上海交通大学计算机系;曾任eBay全球分析基础架构部高级工程师、微软云计算和企业产品部软件开发工程师;曾是微软商业产品Dynamics亚太团队核心成员...
2018-07-01 22:02:27
187
转载 spark SQL 执行过程
spark SQL 执行过程2016年11月05日 14:54:29阅读数:13111、代码实现import org.apache.spark.sql.SQLContextimport org.apache.spark.{SparkConf, SparkContext}//case class一定要放到外面case class Person(id: Int, name: String, ag...
2018-07-01 21:07:23
1491
2
转载 Spark SQL运行原理
Spark SQL运行原理2017年11月22日 20:09:07阅读数:588文章内容摘自<<图解Spark核心技术与案例实战>>详细内容请参考书中原文一、简介 介绍Spark SQL,就不得不提Hive和Shark。Hive是Shark的前身,Shark是Spark SQL的前身。 Shark是由伯克利实验室技术团队开发的Spark生态环境组件之一,它扩展了...
2018-07-01 21:06:52
1871
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人