大数据
文章平均质量分 51
dinghua_xuexi
这个作者很懒,什么都没留下…
展开
-
SuperSet 查询Druid.io 时区转换查询
SELECT FLOOR(TIMESTAMPADD(HOUR, 8, __time) TO DAY) AS "__timestamp", "room_id" AS "room_id", "game_type" AS "game_type", "game_mode" AS "game_mode", TIME_FORMAT(MILLIS_TO_TIMESTAMP(MIN(start_time_min)*1000), 'yyyy-MM-dd HH:mm:s.原创 2022-03-31 10:26:33 · 453 阅读 · 0 评论 -
hive中控制窗口范围rows between的使用
1.rows between的作用在使用hsql完成一些业务需求的时候,我们经常会用到窗口函数,某些场景下会涉及到需要控制窗口函数的范围来满足业务需求,这个时候就需要用到rowsbetween了,使用rows between可以根据自己的需求任意的控制窗口函数的范围。2.rows between的使用首先我们有一张如下的数据表sid day_time sale 101 2020-01-03 10 102 2020-01-04 20 103原创 2022-03-29 15:03:32 · 2051 阅读 · 1 评论 -
编译zookeeper3.5.9
源码下载地址https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9.tar.gz编译zookeeper 3.4.x及之前的版本都是用ant编译的,而从3.5.x开始使用maven编译,可以说步入了java项目编译的主流当中,因为zookeeper版本较新,而编译zookeeper的maven版本自然不能太低,我这里使用的是maven3.6.31 下载zookeeper源码原创 2021-02-02 08:20:29 · 382 阅读 · 0 评论 -
spark stream 的双流join
背景在构建实时数仓过程中,有时需要将两个实时数据源进行关联,生成大宽表数据,这时就不得不用到双流join。场景比如有这样的场景,订单实时数据源,和订单物品实时数据源。订单数据源有订单id,下单时间,订单金额,收货人,收货地址等信息,订单商品数据源有订。单号id,商品名称,商品品牌,商品价格,商品成交价格,商品所属商家。订单和订单商品一般是一对多的关系。生成订单大宽表数据,需要将订单的每一件商品信息都关联上订单详细信息。面临问题我们使用流数据join,不像静态数据那么简单。我们知道静态数据原创 2020-08-11 21:37:13 · 1374 阅读 · 0 评论 -
Spark SQL 小数据聚合的坑
摘要在spark sql中,聚合操作,如分组求和,join,分组TopN等,是很常见的,有的时候,我们会遇到这样的情况,数据量并不大,但是聚合起来,需要花费不少时间。俗话说,事出反常必有妖,背后一定有某种原因导致了这种情况。本篇文章介绍了其中一种场景,希望能为大家带来启示。场景展现程序代码我们写两个简单的spark socket流程序,使用nc命令手动发数据,然后对收到的数据进行简单的汇总,不涉及任何复杂操作,程序代码如下 val spark = SparkSession.builde原创 2020-08-07 11:06:28 · 358 阅读 · 0 评论 -
Spark SQL的jdbc数据源如何确定数据分区
摘要本篇文章主要分析spark sql在加载jdbc数据时,比如通过jdbc方式加载MySQL数据时,分区数如何确定,以及每个分区加载的数据范围。通过本篇文章的分析,以后我们在用spark读取jdbc数据时,能够大致明白底层干了什么事情,以及避免一些坑。spark dataframe的jdbc接口 /** * Construct a `DataFrame` representing the database table accessible via JDBC URL * url n原创 2020-08-05 16:47:36 · 1933 阅读 · 0 评论 -
Flink中的Window操作
概念WindowStream流数据是源源不断,永无止境的,而我们一般将这些流数据按照一定规则划分成一段一段的有限范围,比如按照一定数量切分,或者按照时间窗口切分。这样就将整体的无限,转化成了一段段连续(有时候会有重叠)的有限,这样我们才有能力去处理它,并且也符合实际的需求,比如每5分钟活跃人数,新增人数,转化率等等。Window Functionswindow function 包含了作用于window范围内数据的计算逻辑,主要有ProcessWindowFunction,ReduceFu.原创 2020-08-04 10:52:02 · 619 阅读 · 0 评论 -
Flink中reduce的4种方式
def main(args: Array[String]): Unit = { val env = ExecutionEnvironment.getExecutionEnvironment val path = this.getClass.getResource("/data.txt").getPath val text = env.readTextFile(path).setParallelism(2) val group_ds = text.flatMap(_.spli.原创 2020-08-03 16:02:12 · 4338 阅读 · 0 评论 -
Flink自定义并行读取Mysql数据
自定义Source概述自定义Source是Flink学习中非常重要的一环,一般实现一个Source,可以继承下面几个类之一SourceFunctionRichSourceFunctionParallelSourceFunctionRichParallelSourceFunction前两个是单并行度,后2个是多并行度,无论是否多并行度,我们一般选择带Rich的SourceFunction, 也就是RichSourceFunction和RichParallelSourceFunction,这原创 2020-08-03 11:44:38 · 2710 阅读 · 1 评论 -
Flink中对keyBy的探究
0 摘要 在Flink实时流数据处理中,经常用到keyBy算子, 虽然能够大致不差的使用它,实现自己的需求。然而这个算子到底做了什么事情,心里一直没有底。这篇文章算是对keyBy算子稍微深入一点的探究。1 Spark中的按key分组操作 对于经常使用spark的同学而言,分组操作数据,那是再熟悉不过。比如groupBy, reduceBy, aggregateBy等一系列算子。基本思路都是指定key之后, 将相同key的元素集合到一个集合里面,形成一个新的集合元素,...原创 2020-08-01 18:33:17 · 21191 阅读 · 9 评论 -
Hbase 1.3.6 源码编译
下载源码下载地址:http://hbase.apache.org/downloads.htmlReleasesVersion Release Date Compatibility Report Changes Release Notes Download Notices 2.3.0 2020/07/13 2.2.0 vs 2.3.0 Changes Release Notes src(sha512asc)bin(sha...原创 2020-07-18 16:29:33 · 462 阅读 · 0 评论 -
Spark Streaming 消费kafka数据出现No current assignment for partition崩溃
问题概述 我们用spark streaming 消费kafka数据,偶尔会出现该问题,其本质原因是多个进程以相同的kafka group id 并行消费同一个topic导致的,碰到该问题,应首先从迅速下面2个方面排查:多个应用程序使用了相同的kafka group id 去消费同一个topic 一个应用程序,在内部不小心间接地启动了2个消费进程,这2个进程使用了相同的kafka group id 去消费同一个topic前一个好说,比较容易排查,后一个需要仔细排查程序细节,如果预先没有...原创 2020-07-06 16:08:11 · 3870 阅读 · 0 评论 -
Hive复合类型操作
概览hive目前支持4种复合类型array_type : ARRAY < data_type > map_type : MAP < primitive_type, data_type > struct_type : STRUCT < col_name : data_type [COMMENT col_comment], ...> union_type : UNIONTYPE < data_type, data_type, ..原创 2020-07-04 17:26:22 · 465 阅读 · 1 评论 -
安装配置Kudu
背景Kudu安装起来,看似不难,配置文件也就那么4个,每个配置文件需要配的配置也就两三个,但是很容易出现问题。我的Kudu安装也是历经了各种艰辛,才勉强起来的,中间发生的错误,忘了记录。现把中间需要注意的步骤做个记录备忘。下载kudu包https://archive.cloudera.com/kudu/redhat/7/x86_64/kudu/5.12.2/RPMS/x86_64/Name Last Modified Size Parent Directory kudu-原创 2020-06-26 14:49:16 · 1381 阅读 · 0 评论 -
CentOS 7 安装 Influxdb & Grafana
下载安装包# 下载安装包命令wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0.x86_64.rpm# 下载过程信息--2020-05-24 16:37:25-- https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0.x86_64.rpmResolving dl.influxdata.com (dl.influxdata.com)... 13.3.原创 2020-05-24 16:53:13 · 739 阅读 · 0 评论 -
Druid.io 查询分时段指标
{ "aggregations": [ { "fieldName": "unique_user", "type": "thetaSketch", "name": "new_user", "isInputThetaSketch": false, "size": 16384 } ], .原创 2020-05-22 17:13:01 · 479 阅读 · 0 评论 -
Win10环境下编译Flume源码
环境要求:jdk8maven3.5.4+git bash编译准备给本地的maven settings加上一些仓库的mirror, 加速编译过程中依赖的下载 <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/g...原创 2020-05-22 15:31:53 · 317 阅读 · 0 评论 -
Spark源码编译: 在IDEA中运行 spark-examples 模块源码
问题描述 当spark源码编译完成,并导入IDEA后,打开spark-examples子模块,试图运行其中的 SparkPi 程序进行测试,发现各种报错,这些错提示spark依赖或者scala依赖的各种类找不到。为了解决这些问题,花了好几天时间,查了各种博客,大部分都解决不了我的问题 (网上博客等资料十有八九都是互相抄袭,来自亲身实践的很少,有真知灼见的就更少了)。大海捞针,也发现有一两篇,讲的虽不详细,但是提供了方向。指导思想 需要为 spark-example 子模块提...原创 2020-05-21 18:50:39 · 1537 阅读 · 0 评论 -
Druid SQL:列名和sql关键字重名解决办法
问题描述由于历史遗留,设计druid schema 的时候,metrics里面设计了一个count指标,列名也定为了count。在使用sql查询该数据源时,由于count时sql 函数,对该数据源的count进行操作时,如果不采取措施,导致无法使用该字段。问题演示现在需要对count列进行求和运算,如果和其他普通字段一样,不进行特殊处理,sql语句如下select SUM(share_count_sum) as share_count,SUM(count) as pv,topic_id f原创 2020-05-21 15:50:23 · 2029 阅读 · 0 评论 -
编译spark源码: 将spark源码导入IDEA
1 下载好spark源码,解压2 打开IDEA --> 顶部工具栏【File】 --> 【New】 --> 【Project from ExistingSources】3 为该项目配置好Maven,而不是默认的IDEA自带的Maven4 先选中这个Project,鼠标右键 ---> 【Maven】 --> 【Generate Sources and Update Folders】5 顶部工具栏【Build】 --> 【Build Project】,等...原创 2020-05-19 20:13:35 · 322 阅读 · 0 评论 -
CDH环境故障:linux jdk环境部署不规范导致部署spark2 gateway失败,spark2-submit无法执行
问题概述 在CDH中离线部署完spark2之后,执行spark2-submit命令测试部署的spark2是否可用,结果立即提示请安装spark gateway角色。说明我的spark2并未成功部署,或者它依赖的环境没有满足问题详情问题出现如图,在spark2集群页面,选择【部署客户端配置操作】一段时间后,部署崩溃!查看日志查看崩溃的日志,spark2部署的每个客户端有2份日志,1份stout,1份sterrstout日志sterr日...原创 2020-05-12 09:17:29 · 938 阅读 · 0 评论 -
Kafka反解域名导致发消息失败:java.io.IOException: Can't resolve address: kafka-05:9092
背景 由于项目需求,需要跨集群向kafka发数据,发数据程序所在集群没有配置目标kafka集群的主机名,所以只能使用目标集群的ip地址。经测试两个集群网络通信是没有问题的。但是发kafka数据程序运行一直报错,显示无法解析主机名。问题详情由于跨集群发kafka数据,程序运行所在集群和目标kafka集群属于2个不同集群。为方便描述,程序运行所在集群简称为A集群,目标ka...原创 2020-05-08 11:10:05 · 2668 阅读 · 0 评论 -
hdfs datanode进程没法启动
刚搭建的hadoop集群,文件系统有点错乱,然后一顿整之后,datanode没法启动了。没办法,只能对hdfs集群文件系统进行格式化了,但是格式化并不是一个简单的命令就完事,需要彻底清除前面操作留下的任何痕迹,否则datanode还是无法启动!hdfs重新格式化步骤sbin/stop-all.sh# 清理hadoop.tmp.dir目录rm -rf /home/hadoop/ap...原创 2020-04-06 00:08:38 · 365 阅读 · 0 评论 -
Hadoop: hdfs 块异常检查
在hdfs上创建了一个文件[hadoop@hdp02 ~]$ echo "hadoop file" > hadoop01.txt[hadoop@hdp02 ~]$ hadoop fs -mkdir /hadoop[hadoop@hdp02 ~]$ hadoop fs -put hadoop01.txt /hadoop/[hadoop@hdp02 ~]$ hadoop fs -ls...原创 2020-04-05 23:44:04 · 738 阅读 · 0 评论 -
Hadoop: datanode连接namenode 9000端口报错 NoRouteToHostException: No route to host
hadoop集群搭建好后,在datanode节点上执行hadoop fs命令,报下面的错[hadoop@hdp02 ~]$ hadoop fs -ls /ls: No Route to Host from hdp02/192.168.60.102 to hdp01:9000 failed on socket timeout exception: java.net.NoRouteToHos...原创 2020-04-05 21:55:46 · 1026 阅读 · 2 评论 -
大数据之Zookeeper(一):zookeeper集群搭建
下载安装包进入zookeeper官网https://zookeeper.apache.org/,进入download页面Getting StartedStart by installing ZooKeeper on a single machine or a very small cluster.Learn aboutZooKeeper by reading the docume...原创 2020-04-04 19:52:06 · 278 阅读 · 0 评论
分享