自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 数仓分层(ODS、DWD、DWS、DWT、ADS)和数仓建模

文章目录一、数仓分层数仓概念ODS(原始数据层)做了哪些事DWD(明细数据层)做了哪些事DWS(服务数据层)做了哪些事DWT(主题数据层)做了哪些事ADS(应用数据层)做了哪些事二、数仓建模常用的建模工具ODS 层DWD 层DWS 层DWT 层ADS 层一、数仓分层数仓概念什么是数仓:数据仓库是为企业所有决策制定过程,提供所有系统数据支持的战略集合。通过对数据仓库中数据的分析,可以帮助企业改进业务流程、控制成本、提高产品质量等。数据仓库并不是数据的最终目的地,而是为数据最终的目的地做好准备。这些准

2021-03-24 19:25:29 45192 4

原创 val和var修饰immutable集合与mutable集合

immutable集合与mutable集合一览图说明1)val 和 var 的区别:val 类型的变量引用不可更改,类似于 java 变量加了 final 修饰,但是引用对象内容可以改变;而 var 类型的变量引用可以更改,引用对象内容也可以更改2)immutable 集合与 mutable 集合的区别:mutable内容可以修改,而 immutable 集合初始化之后,内容是不能修改的3)有一种情况是如果将 immutable 集合定义为 var 类型的变量,内容是可以"修改"的4)其实 i

2020-12-19 15:44:30 374 1

原创 Scala主构造器和辅助构造器详解

Java构造器基本语法[修饰符] 方法名(参数列表) { 构造方法体}细节说明1)在 Java 中一个类可以定义多个不同的构造方法(构造器),构造方法重载2)如果程序员没有定义构造方法,系统会自动给类生成一个默认无参构造方法(也叫默认构造器)3)一旦定义了自己的构造方法(构造器),默认的构造方法就覆盖了,就不能再使用默认的无参构造方法,除非显示的定义一下4)子类的构造器默认会调用父类的空参构造器5)如果子类显式的使用super()调用父类的有参构造器则不会再去调用父类的空参构造器

2020-11-21 23:10:54 2078

原创 Hive和Hbase的对接

引言我们都知道hive数据存储在hdfs上,元数据可以存储在mysql中,计算框架采用mapreduce,hive实际上只做分析工具。那么hive的数据是不是也可以存储在hbase呢?文章目录一、配置hive二、hive中数据与hbase相关联三、hbase中数据与hive相关联一、配置hive1、创建hive所需要的hbase相关联包的软链接ln -s $HBASE_HOME/lib/hbase-common-1.4.10.jar $HIVE_HOME/lib/hbase-common-1.

2020-09-10 21:13:54 945

原创 Flume与Kafka对接

引言flume为什么要与kafka对接?我们都知道flume可以跨节点进行数据的传输,那么flume与spark streaming对接不好吗?主要是flume对接到kafka的topic,可以给多个consumer group去生成多条业务线。虽然flume中的channel selector中的副本策略也可以做多给多个sink传输数据,但是每个channel selector都是很消耗资源的。文章目录一、flume采集的数据发往一个topic二、flume采集的数据发往多个topic总结.

2020-09-08 11:35:47 3006 1

原创 kafka生产者和消费者的分区分配策略

前言我们都知道在kafka中producer向topic推送消息,而consumer是主动去拉取消息。而在topic中存在着分区和分片,那么kafka生产者和消费者应该采用什么样的分区分配策略呢目录producer的分区分配策略消费者的分区分配策略合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富.

2020-09-03 12:28:57 2149

原创 Flume知识体系梳理

后续更新

2020-08-28 17:43:32 326

原创 Hive知识体系梳理

后续更新

2020-08-28 17:42:42 246

原创 Zookeeper知识体系梳理

后续更新

2020-08-28 17:41:36 202

原创 IDEA常用的快捷键(包括各种for循环)

1、itar 生成array for代码块for (int i = 0; i < fileStatuses.length; i++) { FileStatus fileStatus = fileStatuses[i]; }2、itco 生成Collection迭代3、iten 生成enumeration遍历4、iter 生成增强forxun5、itit 生成iterator 迭代6、itli 生成List的遍历7、ittok 生成String toke.

2020-08-05 23:08:49 1504

原创 phoenix连接hbase报错:Inconsistent namespace mapping properties. Ensure that config phoenix.schema.isName

问题原因:在修改hbase-site.xml文件中的Phoenix的配置时没有同步到Phoenix/bin中的hbase-site.xml文件解决办法:把修改后的hbase-site.xml文件重新拷贝到Phoenix集群中的bin目录下

2020-07-25 22:29:51 3600

原创 IDEA运行报错:Command line is too long. Shorten command line for

原因可能是因为一个项目文件夹下面有多个程序导致打印的环境变量太长了,超过了限制解决办法1、按照提示修改该类的配置,选择jar manifest(每个报错的类都需要注意设置,项目的.idea/workspace.xml有这个选项,可以修改默认值,这样就不用每次更改)2、在项目的.idea/workspace.xml文件中,找到 <component name="PropertiesComponent"> ,添加一行<property name="dynamic.class

2020-07-23 22:18:53 5408 1

原创 Flink Standalone HA集群的安装配置

Flink集群有两种部署的模式,分别是Standalone以及YARNCluster模式。Standalone模式:Flink必须依赖于ZooKeeper来实现JobManager的HA(Zookeeper 已经成为了大部分开源框架HA必不可少的模块)。在Zookeeper的帮助下,一个Standalone的Flink集群会同时有多个活着的 JobManager,其中只有一个处于工作状态,其他处于Standby状态。当工作中的JobManager失去连接(如宕机或Crash),ZooKeeper会从St

2020-07-22 16:20:19 1060

原创 Kafka多租户(配额)管理

Kafka自0.9.0.0版本引入了配额管理(quota management),旨在broker端对clients发送请求进行限流(throttling)。目前Kafka支持两大类配额管理:网络带宽(network bandwidth)配额管理:定义带宽阈值来限制请求发送速率,阈值单位是字节/秒,即bytes/s。该功能是0.9.0.0版本引入的 CPU配额管理:定义CPU使用率阈值来限制请求发送速率,阈值以百分比的形式给出,如quota = 50表示50%的CPU使用率上限。该功能是0.11.0.

2020-07-10 20:37:02 5228 1

原创 spark streaming以direct方式将offset保存在redis

direct_offset_redis类:/** * * @description: * @author: wanjintao * @time: 2020/6/29 19:02 * */package com.offsetredisimport java.langimport org.apache.kafka.clients.consumer.ConsumerRecordimport org.apache.kafka.common.TopicPartitionimport org

2020-07-10 20:19:30 358

原创 spark streaming以direct方式将offset保存在zookeeper

direct_offset_zookeeper类:/** * * @description: 使用Spark-Kafka-0-10版本整合,并手动提交偏移量,维护到Zookeeper中 * @author: wanjintao * @time: 2020/6/27 13:48 * */package com.offsetzookeeperimport org.apache.kafka.common.TopicPartitionimport org.apache.kafka.commo

2020-07-10 19:25:24 450

原创 spark streaming以direct方式将offset保存在mysql

/** * * @description: 使用Spark-Kafka-0-10版本整合,并手动提交偏移量,维护到MySQL中 * @author: wanjintao * @time: 2020/6/23 22:03 * */import java.sql.{DriverManager, ResultSet}import org.apache.kafka.clients.consumer.ConsumerRecordimport org.apache.kafka.common.Topi.

2020-07-10 19:17:43 522

原创 SparkStreaming读取kafka数据的两种方式(receive与direct)对比

陈诉大家都知道在spark1.3版本后,kafkautil里面提供了两个创建dstream的方法,一个是老版本中有的createStream方法,还有一个是后面新加的createDirectStream方法。总之,通过新方法创建出来的dstream的rddpartition和kafka的topic的partition是一一对应的,通过低阶API直接从kafka的topic消费消息,,默认将偏移量保存在kafka内部。对比ReceiveReceive是使用的高级API,需要消费者连接Zo.

2020-07-01 10:17:03 1188 3

原创 kafka读取本地/hdfs数据向topic发送数据(spark)

代码:/** * * @description: * @author: wanjintao * @time: 2020/6/27 14:57 * */import java.util.Propertiesimport org.apache.kafka.clients.producer.{KafkaProducer, ProducerRecord}import org.apache.kafka.common.serialization.StringSerializerimport o

2020-07-01 08:44:27 902

原创 脚本启动hadoop、spark、zookeeper、kafka集群

<1>启动hadoop集群和spark集群#!/bin/bashecho "..........开始启动hadoop集群.........."$HADOOP_HOME/sbin/start-all.shecho "..........hadoop集群启动完毕.........."echo "..........开始启动spark集群.........."$SPARK_HOME/sbin/start-master.sh;$SPARK_HOME/sbin/start-slaves.

2020-06-29 19:39:46 357

原创 Hadoop配置文件详解(core-site.xml、hdfs-site.xm、mapred-site.xml、yarn-site.xml)

Hadoop可配置参数详解 配置文件名 配置对象 主要内容 core-site.xml 集群全局参数 用于定义系统级别的参数,如HDFSURL、Hadoop的临时目录等 hdfs-site.xml HDFS参数 如名称节点和数据节点的存放位置、文件 副本的个数、文件读取权限等 mapred-sit..

2020-06-01 15:33:41 13469 1

原创 解决 ubuntu apt-get update更新太慢的问题(亲测有效)

<1> 先备份源列表文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak<2> 修改源列表文件将/etc/apt/sources.list文件修改为如下内容:# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricteddeb-src http://archive.ubu

2020-05-27 17:47:18 9196 4

原创 Spark Graphx求交通路网任意两点最短路径(单机版)

测试数据为1000行点和边数据vertices_2(起点 终点)(部分数据):edges_2(起点 终点 距离)(部分数据):代码://Pregel算法求单源最短路径import org.apache.log4j.{Level, Logger}import org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.graphx._import org.apache.spark.graphx.{Edge

2020-05-27 17:35:37 1218

原创 Kafka安装web界面监控工具(kafka-manager)

简介Kafka默认是没有web界面的,需要自己安装web界面监控工具可以使用三方开源的监控工具,查询了些资料,网上流传最多的有三个监控工具:Kafka Web Conslole Kafka Manager KafkaOffsetMonitor(其中Kafka Web Conslole程序运行后,会定时去读取kafka集群分区的日志长度,读取完毕后,连接没有正常释放,一段时间后产生大量的socket连接,导致网络堵塞,所以不建议使用;KafkaOffsetMonitor 相对上面来说,这个工具

2020-05-10 11:41:43 5759

原创 Kafka常用命令(详解)

1、Kafka的bin目录下的每一个脚本工具,都有着众多的参数选项,我们不可能记住每一个选项,以及其功能。通常这些脚本都可以 使用--help参数来打印列出其所需的参数信息,或者直接运行./kafka-topics.sh 查看帮助(--help) 2、kafka 创建主题的时候其副本个数不能大于broker的个数,否则创建主题 topic 失败 详细报错信息见上图,其中红色框注明了其副本个数已经超过了可使用的 kafka broker 个数...

2020-05-10 11:22:35 2710

原创 Kafka集群的安装配置(超详细)

1、zookeeper集群的配置 <1>解压安装包并重命名 tar -zxvf zookeeper-3.4.14.tar.gz mv zookeeper-3.4.14/ zookeeper <2>修改配置文件zoo.cfg cp zoo_sample.cfg zoo.cfg vim zoo.cfg dataDir用于配置zookeep...

2020-05-10 11:09:13 1639

原创 启动hadoop集群意外发现主节点少了ResourceManger

可以通过查看日志文件寻找错误:在日志文件中我们发现错误:Caused by: java.net.BindException: Problem binding to [westgis186:8031] java.net.BindException: Address already in use; For more details see也就是说8031被占用我们通过查看803...

2019-12-26 16:11:56 2289

原创 Failed to execute goal org.scala-tools:maven-scala-plugin:2.15.2:compile (default) on project spark

这个问题,是IDEA里的Scala版本 与 本地win里的Scala版本不合理比如,你本地win里Scala版本是2.11.8 , IDEA里的Scala版本是2.10.6 ,spark集群那边必须得是2.10.6(可行)   你本地win里Scala版本是2.11.8,IDEA里的Scala版本是2.11.8,spark集群那边必须得是2.11.8(可行)   你本地win里Sc...

2019-12-26 16:08:44 2913 5

原创 在idea中编译出现错误:Exception in thread "main" java.lang.NoSuchMethodError:scala.Predef$.refArrayOps

原因:scala版本不匹配问题,Spark使用的2.4.0版本:官方文档中说Spark运行在Java8+,Python2.7+/3.4+和R3.1+上。对于ScalaAPI,Spark2.4.0使用Scala2.11。您需要使用兼容的Scala版本(2.11.x)。解决办法:将scala版本换成2.11即可...

2019-12-26 16:06:07 709

原创 centos和ubuntu关闭防火墙

原因:防火墙没有关闭解决办法:ubuntu查看防火墙状态:sudo ufw status ubuntu开机自动开启防火墙:1、sudo ufw enable 2、sudo ufw default deny(运行以上两条命令后,开启了防火 ...

2019-12-26 16:05:07 541

原创 在idea中编译运行scala程序时出现错误:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10582

原因:这是paranamer版本的问题。解决办法:在pom.xml文件中的spark-core / spark-sql之前添加以下依赖项<dependency> <groupId>com.thoughtworks.paranamer</groupId> <artifactId>paranamer</a...

2019-12-26 15:41:41 1226

原创 HBase Client读写数据的流程

1. hbase的系统表 hbase:namespace--->存储了hbase中的所有namespace的信息 hbase:meta--->存储了hbase中所有的region的信息,包括rowkey范围,region所在的regionserver的地址。 hbase:meta--->在zookeeper中,进入zookeeper中查看...

2019-12-25 21:10:06 1338

原创 使用awk、sed命令对海量数据的增删改查(linux)

1. Awk对数据增删改查 <1>给文件增加一列行号 awk '$0=NR"\t"$0' 原文件 ($0=NR表示给文件赋值行号,"\t"标识行号和其他文件用\t分隔,结尾$0代表文件的其他内容) <2>给文件增加一行 如果是给文件增加一行列名,这里可以直接用vim编辑原文件...

2019-12-24 15:40:39 652

原创 DataFrame利用spark.ml处理线性相关

这里数据使用的是libsvm格式,csv文件或者文本文件转化为libsvm格式数据见上一篇博客本地运行代码:#DataFrame利用spark ml实现线性回归import org.apache.spark.ml.regression.LinearRegressionimport org.apache.spark.sql.SparkSessionobject test0002 {...

2019-12-14 14:31:45 415

原创 python实现上亿条csv文件或者txt文件数据转化为libsvm格式数据

建议在linux下执行,本地执行可能需要扩充虚拟内存#csv文件格式转化为libsvm文件格式import pandas as pdimport timedef libsvm(df, fp): now = time.time() print('Format Converting begin in time:..........',now)...

2019-12-14 14:30:14 997

原创 spark分析空气中PM2.5与SO2的线性相关

1. 数据预处理通过查看数据后我们发现数据量很庞大,每条数据中含有25个属性,这里我们只需要province、city、station、aqi、so2、no2、co、o3、pm2_5这9个属性首先通过sed命令删除所有csv文件的第一行即列名然后通过awk命令读取所有csv文件的第1、2、4、8、9、11、13、15、21列的数据写入test.csv文件由于生成的csv文件是以空格...

2019-12-14 14:23:34 1528

原创 使用bulkload将数据批量导入hbase(超详细)

第一步:在HBase中创建表(表名是wjt:bulkload_1,列族是cf,wjt是命名区间)第二步:准备测试数据第三步:上传数据到HDFS第四步:通过MR计算框架生成HFile文件命令格式:HADOOP_CLASSPATH=`$HBASE_HOME/bin/hbase classpath` hadoop jar $HBASE_HOME/lib/hbase-ser...

2019-11-20 11:29:04 2336

kafka思维导图.png

最近总结了一下kafka的介绍、启动流程、监控界面、角色、基本命令、为什么选择kafka、核心设计理念、特点、性能测试和参数调优、多租户等等

2020-06-20

空空如也

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

TA关注的人

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