大数据
文章平均质量分 58
旧城里的阳光
大数据开发
展开
-
编程实用工具大全
前端、后端、大数据等编程实用工具截图工具SnipasteFSCapture截图工具Snipaste下载地址:SnipasteFSCapture原创 2022-04-20 10:48:39 · 1522 阅读 · 0 评论 -
Hive优化
count distinct优化count distinct是SQL分析产生慢的罪魁祸首之一。解决方案:子查询代替count(distinct)查询上游数据源--数据量很大(eg:1000万级别数据量)使用概率计数器是最好的选择,但需要追求快,准的查询,子查询可以提升查询时间。案例对比:前置条件:user_id和dashboard_id各设置了索引,且有比图表和用户数多的多日志条目。计算公式:统计图表的用户访问量(需要按照user_id去重)关联条件time_on_site.原创 2021-10-12 16:31:59 · 199 阅读 · 0 评论 -
FlinkSQL_1.12_用连接器实现TableAPI(Sink ES)把端口数据写入ES并实现去重写入
Flink用连接器实现TableAPI(Sink ES)把端口数据写入ES并实现去重写入package com.atguigu.day10;import com.atguigu.bean.WaterSensor;import org.apache.flink.streaming.api.datastream.DataStreamSource;import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;原创 2021-04-21 23:41:17 · 1201 阅读 · 0 评论 -
FlinkSQL_1.12_用DDL实现Kafka到MySQL的数据传输_实现按照条件进行过滤写入MySQL
1.FlinkSQL_用DDL实现Kafka到MySQL的数据传输_实现按照条件进行过滤写入MySQLpackage com.atguigu.day10;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.flink.table.api.Table;import org.apache.flink.table.api.bridge.java.StreamTab原创 2021-04-21 22:33:35 · 843 阅读 · 1 评论 -
关于Maven中.lastUpdated文件影响
Maven中.lastUpdated文件处理方案案例一:jar文件导入不成功案例一:jar文件导入不成功 在使用idea离线导入maven仓库的时候总是提示jar文件导入不成功的错误。解决方案:删除电脑中.lastUpdated格式结尾的文件。步骤:1.电脑安装Everything2.搜索.lastUpdated结尾文件3.选中删除,既可4.重新导入pom.xml(你要运行的项目)...原创 2021-03-23 20:53:40 · 385 阅读 · 0 评论 -
Azkaban3.0安装注意事项
Azkaban3.0安装注意事项配置Executor Server二级目录三级目录集群配置配置Executor Server1)编辑azkaban.properties.........executor.port=12321......这个参数主要是设置统一的端口号,方便集群进行管理,不然每次启动端口号都不一样。我门可以查看一下,没加之前加完之后在cat就可以看到三台节点都是12321判断能否使用需要注册注册完之后查看数据库验证,标志位1,代表exec端可以使用了,jps看下原创 2021-03-19 19:25:25 · 324 阅读 · 0 评论 -
There are 2 missing blocks. The following files may be corrupted: blk_1073755429 /tmp/logs/atguigu
There are 2 missing blocks. The following files may be corrupted: blk_1073755429 /tmp/logs/atguigu步骤1,检查文件缺失情况可以看到,[atguigu@hadoop102 ~]$ hadoop fsck /user/hive/warehouse | grep parquetWARNING: Use of this script to execute fsck is deprecated.WARNI原创 2021-03-18 15:50:40 · 505 阅读 · 0 评论 -
Hive常见错误
Hive常见错误开窗函数执行问题解决方案开窗函数执行问题select mid_id, dt, rank() over (partition by mid_id order by dt) rkfrom( select mid_id, dt from dws_uv_detail_daycount where dt>=date_add('2020-06-25',-6) group by mid_id,dt);原创 2021-03-17 20:32:20 · 3172 阅读 · 0 评论 -
SQL四个特别重要语法
SQL四个特别重要语法left joinunion alljoin onfull joinleft join右边字段与左边字段匹配,右边匹配上就有,匹配不上补nullunion all字段数相同,类似同类型合并join on只关联能匹配上的字段信息,其余去掉full join左右全部关联上,关联不上补null,常用于表与表之间的新旧对比。...原创 2021-03-17 19:53:51 · 123 阅读 · 0 评论 -
DWD层拉链表
DWD层拉链表用户维度拉链表怎样反拉链?用户维度拉链表变化表加上开始时间与结束时间字段,与初始化拉链表进行union all注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALLods用户变化表 union all 初始的拉链表 按照ID在按照时间排序需要注意overwrite,在进行左连接时候,存在新旧表反复使用现象,因此我们需要设定查询条件。需要对初始化拉链表(旧表)设定查询条件,这样数据就不会混乱。 select * from dwd_dim_use原创 2021-03-15 14:15:34 · 589 阅读 · 1 评论 -
Hive On Spark无法创建Spark Client问题分析
Hive On Spark无法创建Spark Client问题分析问题现象原因分析:解决方案:总结:问题现象在集群中进行Hive-On-Spark查询失败,并在HiveServer2日志中显示如下错误:[atguigu@hadoop102 bin]$ ods_to_dwd_log.sh 2020-06-15SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/opt/module/原创 2021-03-13 11:10:18 · 1884 阅读 · 0 评论 -
Hive自定义UDTF函数解析JSON格式数组常见错误
Hive自定义UDTF函数解析JSON格式数组常见错误报错1报错2报错1导包不正确,方法名同名类似,引用错误。详细:使用IDEA打包把jar包上传hdfs指定目录下,生成永久函数。在调用时发现类型不能转换等错误。检查对比,源代码写的给他人开发案例一样。仔细检查发现原来包入错误,方法使用错误。对于这种错误很难找,在实际开发中,我们也可能经常遇到。因此我们需要重新打包重新在hive中生成永久函数。报错2Maven和IDEA带的BUG。在打包的时候,由于自身原因源代码有问题,不能实现需求,需要我们重新原创 2021-03-13 08:40:43 · 393 阅读 · 0 评论 -
使用DataGrip执行Hive on Spark插入数据任务失败解决方案
使用DataGrip执行Hive on Spark插入数据任务失败解决方案报错1报错1org.apache.hadoop.hive.ql.parse.SemanticException:Failed to get a spark sess解决方案:1.去你的hive配置文件下找到hive-env.sh文件2.调大参数默认为256M,调大内存为2G,这样发在跑HIve on Spark 任务就可以成功,时间缩短。...原创 2021-03-12 19:51:05 · 1645 阅读 · 3 评论 -
Hbase实际使用场景以及相关可视化工具
Hbase实际使用场景以及相关可视化工具Hbase实际使用场景Hbase实际使用场景(1)当数据库来使用(存数据好读数据)需要注意的是,我们在使用的时候put一条一条数据不是做数据的处理,而是在做数据的记录,比如电商项目,购买商品,每一个操作记录记录在hbase里面,这是最基础的使用。(java后端用法)当涉及大量数据时候存储时候,mysql不好集成和拓展。大数据开发我们一般没有这种需求,需要明确。(2)我们到底怎么使用?例如采集项目,java后端通过业务处理存在mysql的数据,我们对海量数据原创 2021-03-09 19:47:16 · 11299 阅读 · 5 评论 -
Hive图形可视化
Hive数据可视化连接DBeaver连接hiveDBeaver连接hive1.hadoop集群开启,zk开启2.启动hive中的hiveServer2,启动的命令是: hive --service hiveserver23.开启DBeaver,新建连接4.选中hive,输入参数,对应主机和用户名5.点击编辑驱动配置6.点击测试连接,就可以连接上了接下来你就可以使用可视化界面操作hive命令啦...原创 2021-03-09 18:39:11 · 2137 阅读 · 2 评论 -
Hbase与Hive的集成
Hbase与Hive的集成Hbase与Hive的对比Hbase与Hive的集成Hive中MetaServer与HiveServer2的区别Hbase集成总结Hbase与Hive的对比首先我们可以明确一点,与Hive一点关系都没有1.Hive(1) 数据仓库Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询。(2) 用于数据分析、清洗Hive适用于离线的数据分析和清洗,延迟较高。(3) 基于HDFS、MapReduceHive存储的原创 2021-03-08 21:07:42 · 1473 阅读 · 0 评论 -
Hbase2.0.5-整合Phoenix实际操作
Hbase2.0.5-整合Phoenix1.Hbase与Mysql区别2.Phoenix定义3.使用Phoenix原因4.Phoenix结构(Hbase)5.Phoenix安装6.Phoenix Shell6.1使用胖客户端进行连接1.Hbase与Mysql区别1.Mysql 创建表 一般一级索引为主键,二级索引2.Phoenix 支持创建二级索引,Hbase没有二级索引,默认rowkey设计已实现2.Phoenix定义1.Phoenix是HBase的开源SQL皮肤。可以使用标准JDBC API原创 2021-03-08 19:11:04 · 1490 阅读 · 0 评论 -
关于HBase中Rowkey的设计原则
关于HBase中Rowkey的设计原则hbase的数据是key-value结构!因此一条数据的唯一标识就是rowkey!region也是根据rowkey进行排序,根据rowkey进行切分!rowkey设计的好,可以提供系统负载均衡的能力!如何让regionserver负载均衡: 让数据可以基于rowkey排序后,均匀地分散到所有的region!防止数据倾斜!如何实现:①可以采取随机数,hash或散列运算,让rowkey足够散列②字符串反转③字符串拼接** Rowkey设计原则**...原创 2021-03-05 20:58:06 · 225 阅读 · 0 评论 -
Hbase2.0.5优化总结
Hbase2.0.5优化总结1.Hbase优化2.实际生产中Hbase的使用3.预定分区3.1 手动分区3.2 生成16进制分区序列预分区3.3按照文件设定的规则进行预分区1.Hbase优化Hbase优化核心就是结合分区_时间戳_关键字段联合使用。其中rowKey设计很重要。2.实际生产中Hbase的使用处理散列热点问题散列热点问题即处理数据的倾斜问题,只要从事于大数据工作,解决数据倾斜问题就不可避免。常见的散列问题:1.“双十一”淘宝订单可能引起热点现象:处理方式:根据订单时间戳进行字符串原创 2021-03-05 20:55:22 · 305 阅读 · 0 评论 -
Hbase2.0.5-API总结
Hbase2.0.5-API总结1. IDEA搭建方式2. 创建HbaseDDL类基本连接方法1. IDEA搭建方式<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>2.0.5</version></dependency><depen原创 2021-03-05 13:25:02 · 299 阅读 · 0 评论 -
Hbase2.0.5-API官网查询方式
目录1.怎样使用HbaseAPI1.怎样使用HbaseAPI第一步:去官网查=>https://hbase.apache.org/=>开发文档API 2.2文档==>User API =>https://hbase.apache.org/2.0/apidocs/index.html把2.2换成2.0就行,对应你的版本号第二步:找到Connection类第三步:使用翻译软件进行翻译A cluster connection encapsulati..原创 2021-03-05 12:59:20 · 525 阅读 · 0 评论 -
Hbase2.0.5总结
Hbase2.0.5总结1.什么是Hbase?2.Hbase与MySQL和Kafka之间联系与区别?3关系型数据库与非关系型数据库之间区别?4.分析Hbase逻辑结构图--对比MySQL来理解5.分析Hbase物理结构6.hbase数据模型指哪些?7.大表分布式拆分流程8.Hbase基础架构--不完整版1.什么是Hbase?1.一个分布式,可扩展的大数据存储数据库,非关系型数据库NOSQL2.Hbase与MySQL和Kafka之间联系与区别?1.Mysql对于海量的数据扩展,只能插磁盘2.Hba原创 2021-03-04 12:01:09 · 847 阅读 · 1 评论 -
Hbase-2.0.5
大数据技术之HBase-2.0.5第1章 HBase简介1.1 HBase定义1.2 HBase数据模型1.2.1 HBase逻辑结构1.2.2 HBase物理存储结构1.2.3 数据模型1.3 HBase基本架构第2章 HBase快速入门2.1 HBase安装部署2.1.1 Zookeeper正常部署2.1.2 Hadoop正常部署2.1.3 HBase的解压2.1.4 HBase的配置文件2.1.5 HBase远程发送到其他集群2.1.6 HBase服务的启动2.1.7 查看HBase页面2.1.8 高原创 2021-03-04 10:31:55 · 2781 阅读 · 1 评论 -
spark3.0-sqparksql-总结知识要点
spark3.0-sqparksql-总结知识要点day01day011、SparkSQL是干嘛的?为什么会有SparkSQL?2、SparkSQL底层有什么编程抽象?3、hive on spark 和 spark on hive区别?我们学的SparkSQL是什么?4、DF、DS、RDD三者之间的区别和联系?5、DF、DS、RDD三者如何转换?(画图说明)6、SparkSQL中有两种什么语法?简述这两种语法的区别和联系。---------------------------原创 2021-03-03 21:09:08 · 196 阅读 · 0 评论 -
spark3.0-sparkcore-总结知识要点
spark3.0-sparkcore-总结day02-知识要点day03-知识要点day04-知识要点day05-知识要点day02-知识要点----------------------笔试---------------------------------1、什么是RDD?2、wordcount代码中算子的具体工作流程(各算子执行位置)?(可以画图说明)3、简述RDD的五大特性.4、RDD有几种创建方式?5、集合创建RDD,默认分区数和设置分区的算法6、读取文件创建RDD,默认分区原创 2021-02-27 13:23:22 · 308 阅读 · 0 评论 -
spark3.0-spark入门-总结知识要点
spark3.0-spark入门-总结知识要点day01-知识要点day01-知识要点1.Spark负责什么事,设计自己调度器的原因?2.Spark为什么比Hadoop快?3.如何提交一个Spark任务?主要参数有哪些?4.spark-standalone模式配置了哪些文件?5.spark-yarn模式配置了哪些文件?6.画出在Yarn-Client模式下提交任务的流程图。7.画出在Yarn-Cluster模式下提交任务的流程图。8.简述你所理解的spark不同运行模式之间的原创 2021-02-27 13:21:31 · 192 阅读 · 0 评论 -
spark3.0版本--SparkSQL
spark3.0版本--SparkSQL第1章 Spark SQL概述1.1 什么是Spark SQL1.2 为什么要有Spark SQL1.3 Spark SQL原理1.3.1 什么是DataFrame1.3.2 什么是DataSet1.3.3 RDD、DataFrame和DataSet之间关系1.4 Spark SQL的特点第2章 Spark SQL编程2.1 SparkSession新的起始点2.2 DataFrame2.2.1 创建DataFrame2.2.3 DSL风格语法2.3 DataSet2原创 2021-02-27 13:19:04 · 1569 阅读 · 0 评论 -
15_spark_core_实战
15_spark_core_实战一.数据准备二.需求1:Top10热门品类2.1需求分析(方案一)常规算子2.2 需求实现(方案一)2.3 需求分析(方案二)样例类2.4 需求实现(方案二)2.5 需求分析(方案三)样例类+算子优化2.6 需求实现(方案三)2.7 需求分析(方案四)累加器2.8 需求实现(方案四)3 需求2:Top10热门品类中每个品类的Top10活跃Session统计3.1 需求分析3.2 需求实现4 需求3:页面单跳转化率统计4.1 需求分析4.2 需求实现一.数据准备1)数据格式原创 2021-02-26 08:19:50 · 232 阅读 · 0 评论 -
14_spark_core_广播变量
14_spark_core_广播变量一级目录二级目录三级目录一级目录二级目录三级目录原创 2021-02-26 08:18:52 · 170 阅读 · 0 评论 -
13_spark_core_累加器_累加器原理
13_spark_core_累加器_累加器原理累加器原理解析累加器原理解析一:两条线:要么自定义累加器,然后使用累加器,要么使用系统自带累加器二:图解----自定义累加器原理(1)自定义累加器(2)使用累加器(3)累加器怎么求和的Driver端有两个Executor,定义一个acc,其实就是一个空map,利用定义copy方法,往每个Executor传了一个空map,例如图中两个map进行累加,怎么累加的,使用add方法,单个executor分区内的聚合逻辑,看有没有,有,遇见一个加一个1,然原创 2021-02-26 08:17:46 · 757 阅读 · 0 评论 -
12_spark_core_累加器_自定义累加器
12_spark_core_累加器_自定义累加器自定义累加器总结自定义累加器自定义累加器类型的功能在1.X版本中就已经提供了,但是使用起来比较麻烦,在2.0版本后,累加器的易用性有了较大的改进,而且官方还提供了一个新的抽象类:AccumulatorV2来提供更加友好的自定义类型累加器的实现方式。1)自定义累加器步骤(1)继承AccumulatorV2,设定输入、输出泛型(2)重写6个抽象方法(3)使用自定义累加器需要注册::sc.register(累加器,“累加器名字”)2)需求:自定义累加器原创 2021-02-25 15:22:20 · 309 阅读 · 0 评论 -
11_spark_core_累加器_系统累加器
11_spark_core_累加器_系统累加器累加器系统累加器累加器累加器:分布式共享只写变量。(Executor和Executor之间不能读数据)累加器用来把Executor端变量信息聚合到Driver端。在Driver中定义的一个变量,在Executor端的每个task都会得到这个变量的一份新的副本,每个task更新这些副本的值后,传回Driver端进行合并计算。系统累加器1)累加器使用(1)累加器定义(SparkContext.accumulator(initialValue)方法)v原创 2021-02-25 14:59:04 · 205 阅读 · 0 评论 -
10.2_spark_core_文件系统类型读取与保存
10.2_spark_core_文件系统类型读取与保存文件系统类数据读取与保存Spark数据读取与保存总结文件系统类数据读取与保存Spark的整个生态系统与Hadoop是完全兼容的,**所以对于Hadoop所支持的文件类型或者数据库类型,Spark也同样支持。**另外,由于Hadoop的API有新旧两个版本,所以Spark为了能够兼容Hadoop所有的版本,也提供了两套创建操作接口。如TextInputFormat,新旧两个版本所引用分别是org.apache.hadoop.mapred.InputFo原创 2021-02-25 14:16:25 · 106 阅读 · 0 评论 -
10_spark_core_数据读存_obj文件
10_spark_core_数据读存_obj文件Object对象文件总结Object对象文件对象文件是将对象序列化后保存的文件,采用hadoop的序列化机制。可以通过objectFile[k,v](path)函数接收一个路径,读取对象文件,返回对应的RDD,也可以通过调用saveAsObjectFile()实现对对象文件的输出。因为要序列化所以要指定类型。1)代码实现package com.atguigu.readAndSaveimport org.apache.spark.rdd.RDDim原创 2021-02-25 13:53:32 · 112 阅读 · 0 评论 -
09_spark_core_数据读存_seq文件
08_spark_core_数据读存_text文件Sequence文件总结Sequence文件SequenceFile文件是Hadoop用来存储二进制形式的key-value对而设计的一种平面文件(Flat File)。在SparkContext中,可以调用sequenceFilekeyClass, valueClass。1)代码实现package com.atguigu.readAndSaveimport org.apache.spark.rdd.RDDimport org.apache.s原创 2021-02-25 13:35:05 · 401 阅读 · 0 评论 -
08_spark_core_数据读存_text文件
08_spark_core_数据读存_text文件文件类数据读取与保存总结:文件类数据读取与保存1)创建包名:com.atguigu.readAndSave1)基本语法(1)数据读取:textFile(String)(2)数据保存:saveAsTextFile(String)2)代码实现package com.atguigu.readAndSaveimport org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, Spar原创 2021-02-25 13:18:29 · 287 阅读 · 0 评论 -
07_spark_core_键值对RDD分区规则
07_spark_core_键值对RDD分区规则键值对RDD数据分区总结键值对RDD数据分区Spark目前支持Hash分区、Range分区和用户自定义分区。Hash分区为当前的默认分区。分区器直接决定了RDD中分区的个数、RDD中每条数据经过Shuffle后进入哪个分区和Reduce的个数。1)注意:(1)只有Key-Value类型的RDD才有分区器,非Key-Value类型的RDD分区的值是None(2)每个RDD的分区ID范围:0~numPartitions-1,决定这个值是属于那个分区的。原创 2021-02-25 13:00:34 · 149 阅读 · 0 评论 -
Spark3.0版本--chapter2.7--RDD持久化
加粗样式@TOCllll你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽原创 2021-02-25 00:06:21 · 1681 阅读 · 5 评论 -
06_spark_core_持久化_检查点存储在HDFS上
06_spark_core_持久化_检查点存储在HDFS上检查点存储在HDFS上检查点存储在HDFS上如果检查点数据存储到HDFS集群,要注意配置访问集群的用户名。否则会报访问权限异常。原创 2021-02-25 12:38:05 · 173 阅读 · 0 评论 -
05_spark_core_持久化_缓存和检查点的区别
05_spark_core_持久化_缓存和检查点的区别缓存和检查点区别缓存和检查点区别1)Cache缓存只是将数据保存起来,不切断血缘依赖。Checkpoint检查点切断血缘依赖。2)Cache缓存的数据通常存储在磁盘、内存等地方,可靠性低。Checkpoint的数据通常存储在HDFS等容错、高可用的文件系统,可靠性高。3)建议对checkpoint()的RDD使用Cache缓存,这样checkpoint的job只需从Cache缓存中读取数据即可,否则需要再从头计算一次RDD。4)如果使用完了缓存原创 2021-02-25 10:17:46 · 369 阅读 · 0 评论