大数据
文章平均质量分 84
数据小二
小二讲堂开讲了!!
展开
-
ClickHouse部署文档
ClickHouse可以在任何具有x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行。指令集,因此,除非另有说明,支持它的CPU使用将成为额外的系统需求。1.启动每个安装包install/doinst.sh 下的启动脚本。官方预构建的二进制文件通常针对x86_64进行编译,并利用。机器:node01,node02,node03 共三台。浏览器访问:8123端口 ,返回ok则搭建成功。Clickhouse安装包。如图所示:此系统支持。原创 2022-09-16 15:18:38 · 1033 阅读 · 1 评论 -
Spark写入支持更新【源码二次开发】
在大数据开发过程中,遇到很多Spark写入mysql得场景,目前由于Spark仅支持以下几种由于在写入mysql时,需要数据根据主键进行更新,而不覆盖或追加,次业务场景也比较多。看了Spark源码后,故此有两种方式进行数据更新用于实时覆盖写入数据。此种方式代码开发量少以Spark3.4.0为例新增一种枚举写入方式:在该方法中首先从上游传递SaveMode:mode参数再更加写入的mode判断返回Insert INTO /Replace into sql。原创 2022-09-04 14:44:28 · 1345 阅读 · 0 评论 -
如何完美解决Sqoop导入导出MySQL数据错位问题
Sqoop原创 2022-08-27 14:33:13 · 3501 阅读 · 1 评论 -
Azkaban 外部接口的使用与开发
Azkaban 外部接口的使用与开发此文档可用于Azkaban 任务的https调用,提供了查看任务的状态信息、执行情况、任务的创建、上传、触发、取消、调度等功能接口。可以使开发者在编程过程中直接通过https api的调用,来对任务进行控制,开发者可参考azkaban官网提供的api文档。azkaban官网提供的api文档:https://azkaban.github.io/azkaban/docs/latest/#ajax-apiAPI调研结果:功能 是否支持 java api原创 2021-05-24 17:09:41 · 1722 阅读 · 1 评论 -
Elasticsearch 批量数据迁移和索引mapping修改
需求:原始索引中有2亿条数据,并且在线上运行,现在需要更具给部分数据添加一个标签(即新增一个字段,address);困难:1).Elasticsearch不支持动态修改mapping。2).由于数据量很大,新建索引,并且进行数据迁移效率很慢数据情况:索引:test_jyong_old别名:test_jyong_alias数据量:2亿mapping:{ "test_jyong_old": { "mappings": { "doc": {原创 2021-03-08 14:47:57 · 981 阅读 · 0 评论 -
Spark任务流程解析
Spark主要的角色SparkControlProcesses Driver Application entry point that contains the SparkContext instance Master In charge of scheduling and resource orchestration Worker Responsible for node ...原创 2021-01-07 17:13:40 · 621 阅读 · 0 评论 -
多线程批量提交Spark任务
一.目的1.避免资源的浪费2.提高任务执行的效率3.防止任务未执行完毕,session和线程池已关闭,导致任务失败二、异常conding:1)method 1 for (String s : list) { Dataset<Row> sql = sparkSession.sql(s); sql.show(); } sparkSession.close(); Syste.原创 2021-01-07 16:35:14 · 1400 阅读 · 2 评论 -
ElasticSearch磁盘达到阈值异常,写不进去数据
异常信息{ "error": { "root_cause": [ { "type": "cluster_block_exception", "reason": "index [blog1] blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];" } ], "原创 2020-12-11 15:37:54 · 2693 阅读 · 0 评论 -
深入浅出JVM虚拟机
------------------------------------------深入理解Java虚拟机------------------------------------------java内存区域划分1. 程序计数器当前线程所执行的字节码行号指示器 每个线程都有独立的程序计数器 如果执行的是java方法,记录字节码指令地址。如果执行Native方法,则为空(Undefined) 不会有OutOfMemoryError出现2. 虚拟机栈线程私有, 生命周期与线程相同 描原创 2020-11-26 21:05:38 · 325 阅读 · 0 评论 -
Sql之家
sql进阶---------------->一.basic1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE原创 2020-11-17 22:14:21 · 403 阅读 · 0 评论 -
ElasticSearch设置通用模板
1.模板,一般有以下一下常见的通用模板参数{ "order": 0, // 模板优先级,数字越大优先级越高 "index_patterns": ["jyong-*,test-*"], // 匹配该模板的索引名称正则 "settings": {}, // 索引设置 "mappings": {}, // 索引中各字段的映射定义 "al原创 2020-10-22 18:40:37 · 1539 阅读 · 0 评论 -
阿里云轻量级服务器ElasticSearch集群部署
搭建搞定三台阿里云轻量级服务器ip内网 ip公网 角色 172.116.1.100 47.100.1.100 master 172.116.1.101 47.100.1.101 salve 172.116.1.102 47.100.1.102 salve 搞定三台机器的网络配置,前提:在阿里云轻量级应用管理控制台开启端口92001.上传ElasticSearch部署包,以elasticsearch.tar.gzel...原创 2020-09-26 22:00:28 · 780 阅读 · 1 评论 -
Redis-benchmark性能测试
redis-benchmark测试机器:1核心 2g Centos7.3测试:100个并发,100000个请求命令:redis-benchmark [option] [option value]redis-benchmark -h [localhost] -p [port] -c [paramllism] -n [requests]redis 性能测试工具可选参数如下所示:序号 选项 描述 默认值 1 -h 指定服务器主机名 127.0.原创 2020-09-17 20:52:09 · 263 阅读 · 0 评论 -
ElasticSearch常用DSL查询语句
数据:{ "took" : 1, "timed_out" : false, "_shards" : { "total" : 1, "successful" : 1, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : { "value" : 4, "relation" : "eq" }, "max_score" : 1.0, "hits" :原创 2020-09-05 18:22:48 · 864 阅读 · 0 评论 -
ElasticSearch增删改查原理
一.基础知识的刨析1.ElasticSearch中的indexElasticSearch中的索引(index)是用于组织数据的逻辑命名空监(如数据库)。ElasticSearch的所有默认有5个分片(shard)--当然这是7.x版本之前的特性了。7.x之后新建索引默认都是1个分片。分片是实际存储数据的lucene索引,它本身就是一个搜索引擎。每个分片可以有零个或多个副本(replicas)默认是1个。ElasticSearch索引还具有‘类型(type)’(如数据库中的表),允许在索引中队数据原创 2020-08-30 19:00:24 · 514 阅读 · 0 评论 -
Hive数据倾斜的刨析和解决
1.Hive Sql执行原理 首先我们执行的一个个Hive Sql,他是怎么执行的呢? (https://blog.csdn.net/Mirror_w/article/details/89461885这里有详细原理详解)1.首先客户端Client,提交一个Sql查询任务2.客户端通过Thrift Srever服务与Driver进行通信,将执行任务发送给Driver驱动3.Driver驱动会将Sql同过解析器进行解析,解析成一个逻辑执行计划,然后与源数据库进行通信,比如提交一个(sel..原创 2020-08-08 09:55:05 · 232 阅读 · 0 评论 -
SparkSession写入mysql出现的数据库死锁问题?
最近工作中模型出现的死锁问题azkaban spark任务报错信息代码:代码上看都是正常的DataFrame写入mysql操作,并且是update操作来看看数据库结构:这次看到,数据库时由联合主键构成的,查看了源数据,发现hive中数据又很多是相同的数据。此前:做了一个小测试,将所有的联合主键取消掉,这个表没有的主键,因此写操作是insert操作了,执行sp...原创 2020-02-29 13:30:30 · 1014 阅读 · 0 评论 -
Spark度量系统相关讲解
Spark的Metrics System的度量系统,有两个部分组成:source,sink,创建的时候需要制定instance。度量系统会周期的将source的指标数据被sink周期性的拉去,sink可以有很多。Instance代表着使用度量系统的角色。在spark内部,目前master,worker,Executor,client driver,这些角色都会因为要去做监控而创建使用度量系统。...原创 2019-11-13 21:05:46 · 387 阅读 · 0 评论 -
Spark的调度系统
Spark的调度系统一,简介Spark调度机制可以理解为两个层面的调度。首先,是Spark Application调度。也就是Spark应用程序在集群运行的调度,应用程序包括Driver调度和Executor调度。其次,就是每个Spark Application都会有若干Jobs(Spark Actions),然后这些job是以何种机制,在Executor上执行的,也是需要一个调度管理的机...原创 2019-11-13 20:56:08 · 290 阅读 · 0 评论 -
Hive入门、语法、底层原理流程图讲解【小二讲堂】
一、Hive入门1.hive基础讲解什么是hiveHive是建立在hadoop之上的数据仓库的基础架构。它提供了一些工具,可以用来进行数据提取、转化、加载(ETL),这是一种储存、查询和分析储存在hadoop中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 ...原创 2019-04-24 09:15:05 · 2413 阅读 · 0 评论 -
深度理解篇之HBase结构原理-个人拙见
HBaseHBase是一个存储层,在大数据的储存层里有HDFS,为什么有HBase呢?HDFS是线性的批量的,加载的IO性能会好一点,HDFS不支持修改,不能随机的修改,那么HBase是怎样的一个模型呢?第一它首先支持随机的读和写,你想修改HBase中的某一条数据,只要根据rowkey,立马就可以进行修改,这就说HBase修改能力是有的,在大数据的整个生态当中,一定会有批量计算,一定会有随机读...原创 2019-07-13 19:36:53 · 405 阅读 · 0 评论 -
深度理解篇之Hive-个人拙见
Hive公司的数据越来越多,业务越来越多,会伴随着在存储层存下不同的文件,每个文件代表什么意思呢?打开文件之后,每一列代表什么意思呢?这时候就很难去分别,很难去管理了,人很难通过电脑记录下来将这写不同的数据,所以可以通过第三方存储系统来存储这些记录,比如说数据库建表来记录那个目录里面存的是什么数据,每个数据有什么特点,每一行每一列代表什么意思。总体的意思就是我们得有一个存储系统来记录大量业...原创 2019-07-13 19:33:00 · 724 阅读 · 0 评论 -
深度理解篇之MapReduce-个人拙见
MapReduceMapReduce是一个分布式计算框架,MR主要是来自原Google的那片论文,从名字上看只有两个阶段,两个阶段map阶段和reduce阶段。Mapreduce框架追求的是对过去计算特征的一种抽取,发现计算就是对数据一般都是过滤或者聚合的操作,比如我们写sql时的where条件,就是一种过滤,而select * 的查询没有聚合的操作,MapReduce中只有map就可以完成这...原创 2019-07-13 19:30:19 · 703 阅读 · 0 评论 -
深度理解篇之HDFS读写流程-个人拙见
文件的写流程首先客户端和namenode进行建立连接,无论是查询还是创建,都是先进行与namenode进行交互获取元数据,当我们开始提交写请求时,首先客户端会检查文件名、路径是否合法,文件名是否被占用,一系列的检查通过之后那么,会创建一个.copying的一个扩展名的文件,此时namenode触发了块的副本放置策略,因为只有namenode才知道集群的节点信息,机架信息,怎么去放置的信息,触发...原创 2019-07-13 19:27:16 · 665 阅读 · 0 评论 -
深度理解篇之HDFS-个人拙见
Hdfs架构首先Hdfs是一个分布式文件系统,它是分布式计算架构的支持。怎么实现的呢?采用一种“分而治之”的思想,将一个很大的数据块,打散到不同的节点上去存储。具体怎么实现的呢?首先将一个数据文件按照一定的偏移量offset进行切割,将不同偏移量的所切割数据放置在不同的储存节点之上,并且采用了副本机制。什么是副本机制呢?为了解决数据的容错、丢失,在其他节点上进行数据备份...原创 2019-07-13 19:25:19 · 426 阅读 · 0 评论 -
hive的窗口函数精讲
Student表:+---------------+----------------+--------------------------+----------------+--+| student.name | student.class | student.cooperator_name | student.score |+---------------+----------...原创 2019-06-30 19:51:36 · 568 阅读 · 0 评论 -
JVM监控工具
1.jvmstat jvmstat是图形版的jstat,由Java 官方提供,目前最新版本为3.0。 下载地址:http://www...转载 2019-06-27 20:26:38 · 214 阅读 · 0 评论 -
大数据生态组件常见端口
Hadoop: 50070:HDFS WEB UI端口8020 : 高可用的HDFS RPC端口9000 : 非高可用的HDFS RPC端口8088 : Yarn 的WEB UI 接口8485 : JournalNode 的RPC端口8019 : ZKFC端口Zookeeper:2181 : 客户端连接zookeeper的...原创 2019-06-27 18:22:03 · 210 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度
通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。算法执...原创 2019-07-08 20:09:55 · 605 阅读 · 0 评论 -
深度理解篇之HBase的读写流程-个人拙见
HBase的读写流程HBase中最基本的原理就是rowkey,进行增删改查的话,首先要找到rowkey所存在的Regoin,Regoin在RegoinServer中,一般Regoin都是RegoinServer区间的一个定义,这是它最基本最狭义的一个描述,但是这里面要知道相关的元数据信息比如说写流程,写流程:客户端先去zookeeper,zookeeper中有一个节点,类似于root表...原创 2019-07-13 19:39:26 · 531 阅读 · 0 评论 -
深度理解篇之Spark语义-个人拙见
Spark语义Spark是一个分布式计算程序,他是大数据的计算引擎层面,在计算引擎层面,分为两大类,一类是属于流式计算,一类是数据批量计算,流计算里面是storm、flink,批计算里面是map reduce 和spark,想理清楚spark和MapReudce做对比,首先着两者的对比,就是mapreduce很慢,spark很快,那么为什么spark很快,首先不是基于内存的,由于每个stage...原创 2019-07-13 19:40:56 · 664 阅读 · 0 评论 -
深度理解篇之Spark架构原理-个人拙见
继上篇https://blog.csdn.net/Mirror_w/article/details/95783445那么相应的实现是怎么实现的呢?先说它的框架,在框架当中,mapreduce也好,Spark也好,资源层和计算才能是隔开的,是解耦的,在MapReduce当中,Yarn是资源层,然后自己的计算支持着计算层,比如说有客户端、有appMaster、有maptask reduce t...原创 2019-07-13 19:44:44 · 434 阅读 · 0 评论 -
Linux部署之节点初始化部署
-------------------------原始节点配置--------------------------------------1.配置ip属性cd /etc/sysconfig/network-scripts/vi ifcfg-eth0注释掉:HWADDR(真正公司里不能做)修改:ONBOOT=yesBOOTPROTO=static添加:IPADDR=192.168...原创 2019-08-05 21:07:00 · 455 阅读 · 0 评论 -
Git私服部署
1.准备一台服务器必要条件:网络环境2.安装Git服务环境准备命令:yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc3.下载gitgit官网下载:https://mirrors.edge.kernel.org/pub/...原创 2019-08-01 12:16:01 · 837 阅读 · 0 评论 -
mysql 8.0.11安装教程
安装环境:win71、下载zip安装包:MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/downloads/file/?id=476233,进入页面后可以不登录。后点击底部“No thanks, just start my download.”即可开始下载。2、安装2.1解压zip包到安装目录我的解压在了E:\sof...原创 2019-07-12 07:47:09 · 418 阅读 · 0 评论 -
Spark中foreachRDD、foreachPartition和foreach解读
foreachRDD、foreachPartition和foreach的不同之处主要在于它们的作用范围不同,foreachRDD作用于DStream中每一个时间间隔的RDD foreachPartition作用于每一个时间间隔的RDD中的每一个partition,foreach作用于每一个时间间隔的RDD中的每一个元素。在Spark 官网中,foreachRDD被划分到Output O...原创 2019-07-11 08:58:26 · 724 阅读 · 0 评论 -
SparkSql 中外连接查询中的谓词下推规则
SparkSqlSparkSql是架构在spark计算框架之上的分布式Sql引擎,使用DataFrame和DataSet承载结构化和半结构化数据来实现数据复杂查询处理,提供的DSL可以直接使用scala语言完成sql查询,同时也使用thrift server提供服务化的Sql查询功能。SparkSql提供了Data Source API,用户通过这套API可以自己开发一套Connecto...原创 2019-06-30 19:45:14 · 359 阅读 · 0 评论 -
kafka事务
为了使用事务生产者和相关的APIs,必须要设置transactional.id属性.如果设置了transactional.id幂等性会自动被启用。支持事务的topic必须要进行容错配置。特别的replication.factor应该设置为3,topic的min.insync.replicas配置必须设置为2.最后,为了从端到端实现事务性保证,必须配置消费者只读取committed的消息。tr...原创 2019-06-30 18:52:37 · 486 阅读 · 0 评论 -
常见算法的时间复杂度
原创 2019-06-30 17:12:47 · 5052 阅读 · 0 评论 -
深度理解篇之SparkShuffle
SparkShuffle对于shuffle的话,对于1.6以前的版本,有一个shufflemanager,shuffle管理器。Spark在传统的模式中分为hashManager和常用的sortshuffleManager。简单来说hashShuffle是什么原理呢?他是一种简单的粗暴的方式,也就是map的一个任务,读到一条数据,该存的时候,首先要算出hash,算出去哪个分区,这时...原创 2019-07-13 19:49:00 · 1003 阅读 · 0 评论