自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

俗人

路途远漫,点滴笔记,望莫失莫忘,顺心安稳

  • 博客(91)
  • 收藏
  • 关注

原创 Hadoop |HDFS Federation(HDFS 联邦机制)

https://www.cnblogs.com/xinfang520/p/10397360.htmlhttp://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/Federation.htmlhttps://www.jianshu.com/p/2daf70e3b5b0https://baijiahao.baidu.com/s?id=1598948017346102399&wfr=spider&for...

2021-06-09 16:11:45 224

原创 HDFS Command 记录

1. 将HDFS目录下多个文件写入指定目标目录下的新文件(小文件合并)hdfs dfs -cat /user/hive/warehouse/db.db/t_ods_mid_xxx_hi/cp=2020120922/* | hdfs dfs -copyFromLocal - /user/hive/warehouse/db.db/t_ods_mid_xxx_hi/cp=2020120923/000000_0...

2020-12-11 15:32:28 213

转载 辨析BI、数据仓库、数据湖和数据中台内涵及差异点

原文链接:https://mp.weixin.qq.com/s/xwNtNrIBr4fWshunQOzYIg一数据仓库数据仓库平台逐步从BI报表为主到分析为主、到预测为主、再到操作智能为目标。图1.数据仓库发展阶段划分商务智能(BI,Business Intelligence)是一种以提供决策分析性的运营数据为目的而建立的信息系统。是属于在线分析处理:On Line Analytical Processing(OLAP),将预先计算完成的汇总数据,储存于魔方数据库(Cube) 之中,

2020-11-11 10:33:51 342

转载 Linux | 批量Kill多进程

ps -ef | rep php | grep -v grep | cut -c 9-15 | xargs kill -9管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的几个命令:"ps - ef"是linux 里查看所有进程的命令。这时检索出的进程将作为下一条命令"grep mcfcm_st"的输入。"grep mcfcm_st"的输出结果是,所有含有关键字"mcfcm_st"的进程,这是Oracle数据库中远程连接进程的共同特点。..

2020-10-09 17:43:05 237

原创 Kafka | 模拟生产者写入消息

模拟生产者写入消息到Kafkaimport java.util.Propertiesimport java.util.concurrent.{Executors}import com.sf.gis.commonsimport com.sf.gis.commons.utils.{DateTimeUtil, RandomUtil}import org.apache.kafka.clients.producer.{KafkaProducer, ProducerRecord}import o.

2020-09-24 17:37:39 512

转载 Linux | IF判断

shell判断数组中是否包含某个元素:ary=(1 2 3)a=2if [[ "${ary[@]}" =~ "$a" ]] ; then echo "a in ary"else echo "a not in ary"fi判读字符串($str)是否包含另一个字符串($str1):方法1:if [ `echo $str | grep -e '$str1'` ] ;then echo yesfi方法2(如果$str1在判断中直接使用字符串而不是变...

2020-09-10 10:44:55 369

原创 Spark | 解析SparkSQL运行原理之Sql Analysis阶段

(一) 解析SparkSQL运行原理之Sql Parse 阶段上一篇文章在介绍Sql Parse阶段时,该阶段主要是使用Antlr4将一条SQL语句解析成语法树,然后使用Antlr4的访问者模式遍历生成语法树,也就是Logical Plan。但其实,Sql Parse这一阶段生成的Logical Plan是被称为Unresolved Logical Plan。所谓Unresolved,就是说SQL语句中的对象都是未解释的。在论文中有介绍到Spark Sql以要计算的关系开头,从SQL解析器返回的抽象

2020-08-18 11:25:43 360

原创 Spark | 解析SparkSQL运行原理之Sql Parse 阶段

spark.version=2.4.4在学习SparkSQL运行原理前可以先了解下SparkSQL中涉及到的一些基础概念,SparkSQL架构待续补充~~~~~

2020-08-04 17:35:12 1398

原创 Spark | Stage进度条展示(showConsoleProgress)

spark.version = 2.4.4在执行Spark任务中,经常会看到以下类似的Stage进度日志信息,如下:[Stage 0:> (0 + 0) / 1753][Stage 0:> (0 + 65) / 1753][Stage 0:>

2020-07-27 18:25:16 3377 1

原创 Kafka | 搭建Kafka

# 将用户目录下的kafka_2.12-0.10.2.2.tgz分发到DN组各个节点目录下ansible dn -m copy -a 'src=/home/hadoop/app/kafka_2.12-0.10.2.2/kafka_2.12-0.10.2.2.tgz dest=/home/hadoop/app owner=hadoop group=hadoop'# 解压kafka_2.12-0.10.2.2.tgz至指定目录/app/gisbdp/目录下ansible dn -m shell ...

2020-07-17 16:57:06 257

原创 基于Ansible搭建Hadoop HA

目录基础步骤hadoop-conf主要配置文件core-site.xmlmapred-site.xmlhdfs-site.xmlyarn-site.xmlhadoop-env.shfair-scheduler.xmlslaves启动Hadoop HA查看Hadoop HA 状态小问题Hadoop HAHadoop HA模式参照官网文档应该可以说是各组件的HA,比如HDFS HA, YARN HA 。其中HDFS HA 又有QJM与NFS方式:Q..

2020-07-13 21:57:06 896 2

原创 基于Ansible配置Zookeeper

Zookeeper# 将ZK从m_master分发到需要安装的DN组下各个节点的/home/hadoop/app/ansible dn -m copy -a 'src=/home/hadoop/app/zookeeper-3.4.6.tar.gz dest=/home/hadoop/app/ owner=hadoop group=hadoop'# 将ZK解压到指定目录/app/gisbdp/下ansible dn -m shell -a 'tar -xzvf /home/hadoop/ap.

2020-07-13 21:34:41 507

原创 基于Ansible 配置Java & Scala 环境

JavaJDK8 下载:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html下载测试账号 [email protected] / Oracle123 (百度搜索随便找的一个)。/etc/profile中设定的变量(全局)的可以作用于任何用户;~/.bashrc: 作用类似于/etc/bashrc, 只是针对用户自己而言,不对其他用户生效。而~/.bashrc等中设定的变量(局部)只能继承/.

2020-07-13 21:31:33 291

原创 基于Ansible配置SSH免密钥

在安装Ansible过程中已尝试添加hadoop用户与hadoop用户组,接下来基于hadoop用户完成各个主机之间SSH免密钥登陆。# 编辑 init_sshkey.yaml, 内容如下:- hosts: bdp remote_user: hadoop vars: - name: "bdp" tasks: #不打印日志 #no_log: True #局部打印日志 #loop_control: #label: ""...

2020-07-13 21:27:55 923

原创 Ansible安装

Ansible是一种自动化的运维工具,基于Python开发,它集合了众多运维工具(比如puppet、chef、func等)的优点,能够实现批量操作。但其实Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架yum install epel-releaseyum repolistyum install -y ansible#修改如下文件,新增定义Ansible模块vi /etc/ansible/h...

2020-07-13 21:25:07 271

原创 Linux | Ansible

Ansible是一种自动化的运维工具,基于Python开发,它集合了众多运维工具(比如puppet、chef、func等)的优点,能够实现批量操作。但其实Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架。安装Ansibleyum install epel-releaseyum repolist# 若安装失败 则依次安装依赖 yum install -y ansible查看Ansible版本...

2020-07-07 20:03:16 255

原创 Spark | SparkSQL架构

目录SparkSQLDataFrame APIDataFrame & DataSet & RDD 三者区别SparkSQL 组成SparkSQL Catalyst OptimizerTreeTreeNodeQueryPlanExpressionRuleRuleExecutorCatalyst大致流程Referencesspark.version = 2.4.4站在上帝角度学习下SparkSQL架构相关内容SparkSQL...

2020-07-01 15:51:03 870

原创 1_基础版JDBC-DBHelper扩展(事务及大数据操作)

**1_JDBC-DBHelper基础扩展 **/MyProperties.java/public class MyProperties extends Properties{ private static MyProperties myproperties;private MyProperties(){ InputStream iis = MyProperties.class.

2020-06-30 14:12:50 806

原创 Spark | 基于源码解析SparkSession初始化过程

Spark.version: 2.4.4Apache Spark 2.0引入了SparkSession,其为用户提供了一个统一的切入点来使用Spark的各项功能,例如不再需要显式地创建SparkConf, SparkContext 以及 SQLContext,因为这些对象已经封装在SparkSession中。另外SparkSession允许用户通过它调用DataFrame和Dataset相关API来编写Spark程序。其次SparkSession通过生成器设计模式(Builder Design Pa

2020-06-28 18:50:36 3030

原创 Spark | SparkSql Insert Overwrite 小文件过多

SparkSql在执行Hive Insert Overwrite Table 操作时,默认文件生成数和表文件存储的个数有关,但一般上游表存储个数并非下游能控制的,这样的话得考虑处理小文件问题。小文件产生原因:spark.sql.shuffle.partitions=200 ,sparksql默认shuffle分区是200个,如果数据量比较小时,写hdfs时会产生200个小文件。可尝试通过以下操作来解决小文件过多问题,如下Shuffle Partition--conf spark.s...

2020-06-22 20:48:16 7495

原创 Flink | Windows环境搭建Local测试模式

首先,Flink官网下载地址 :https://flink.apache.org/downloads.html。环境:Java 8Scala 2.11.8flink-1.6.1-bin-hadoop27-scala_2.11.tgz安装模式: Local1、将flink*.tgz解压到本地目录:D:\CodeSoft\CodeEnvironment\flink-1.6.12、在配置文件.\conf\flink-conf.yaml 修改默认端口(8081),改为9091...

2020-06-12 09:26:00 799

原创 Flink | 入门实践WordCount

开发Flink程序有固定的流程?1、获取执行环境2、加载/创建初始化数据源3、指定操作是数据的转换算子4、指定计算好的数据存放位置(Sink)5、调用execute()触发执行程序注意: Flink程序也是延迟计算的, 只有最后调用execute()时才会真正触发执行程序Scala基于Flink 批处理实现WordCount,如下:object SocketWordCount { def main(args: Array[String]): Unit = { .

2020-06-11 21:08:47 338

原创 Spark | 读取Hive表数据写入MySQL

import java.sql.Connectionimport scala.collection.mutable.ArrayBufferobject JdbcTemplateUtil extends Serializable { /** * 单条操作 * @param sql * @param params */ def executeSql(conn: Connection, sql: String, params: ...

2020-06-11 14:38:34 2484

原创 Spark | 记录下Spark作业执行时常见的参数属性配置

Spark CoreSpark StreamingSpark SQL

2020-06-08 15:28:33 865

原创 Spark | 基础概念

Spark基础核心概念Spark 任务提供多层分解的概念,Spark 组件将用户的应用程序分解为内部执行任务并提供执行容器,资源管理为 Spark 组件提供资源管理和调度。应用程序(Application):应用程序(Application):由一个 Driver Program 和多个 Job 构成。 作业(Job): RDD 中由 Action 操作所生成的一个或多个调度阶,即由多个 Stage 组成。 调度阶段(Stage):也叫作任务集(Task Set),因 RDD 之间依赖关系拆

2020-06-08 14:43:33 260

原创 Flink | 基础入门小结

待续。。。。。

2020-06-05 16:10:38 291

原创 Java | 并发包(JUC)

记录下:https://segmentfault.com/a/1190000015558984

2020-03-26 14:01:59 173

原创 Java | 单例模式中双重校验锁的volatile变量有什么作用?

单例模式的双重校验锁方式如下:/** * 双重校验锁(在饿汉模式基础上进一步优化) * 1、构造方法私有化 * 2、在定义静态对象时加volatile锁来确保初始化时对象的唯一性 * 3、定义获取对象实例方法,并在方法体中通过synchronized(Object)给单例类加锁来保障操作的唯一性 * */class DoubleCheckedLockingSingleton{ ...

2020-03-26 12:34:56 360

原创 Java | 设计模式-单例模式

/** * 懒汉模式(线程安全) * 1、构造方法私有化 * 2、定义一个私有静态对线instance(静态属性或方法属于类) * 3、定义加锁的静态方法获取该对线(加锁且先检查再执行) * */class LazySingleton{ private static LazySingleton instance; private LazySingleton(){}...

2020-03-26 09:41:36 146

原创 Python | 将HDFS文件上传到阿里云

# -*- coding: UTF-8 -*- #!/usr/local/bin/python2.7 ##/usr/bin/python #import codecsimport osimport shutilimport json import sys import paramikoimport hashlibimport requestsimport socketi...

2020-03-19 14:17:22 349

原创 Python | 基于PythonWebHDFS迁移HDFS数据到本地并压缩

先回顾下之前PythonWebHDFS的操作 :基于WebHDFS REST API操作HDFS记录下工作中写过的脚本,如下:1、dateUtile.py: 主要选取需要迁移数据的时间区间。import datetimeimport sysimport os def dateRange(beginDate, endDate): dates = [] dt ...

2020-03-18 18:56:09 518

原创 Python | Python3 Windows 下载视频

第一步:下载安装Python3,并配置好环境变量等。官网下载地址, https://www.python.org/downloads/windows/下载可执行文件,如下:第二步: "Win+R" 快捷键进入CMD黑框框状态,如下Check:第三步: 通过pip3安装you-get工具:然后按提示在分别执行这两个 更新升级命令:pip3 install...

2020-03-18 18:42:53 1306

原创 Java | TCP的三次握手&四次挥手

TCP数据在传输之前会建立连接需要进行3次沟通,一般被称为"三次握手";在数据传输完成断开连接得时候要进行4次沟通,一般称为"四次挥手"。再来看下TCP报头中得6个标志比特,也就是控制位6位,它们中得多个可以被同时设置为1,如下:控制位 说 明 URG 1:紧急指针有效; 0:忽略紧急指针得值; ACK 1:确认号有效; 0:表示在报文中不...

2020-03-12 10:47:24 423

原创 Java | JVM调优总结[转]

做个标记:https://www.cnblogs.com/dirgo/p/11175774.html

2020-03-10 10:06:43 135

原创 Java | IDEA中查看字节码

在JDK工具包的bin目录下,有一个java可执行文件javap即javap.exe,该工具可以查看java编译后的class文件。使用命令如下:javap -c Test.class因此可以基于该命令在IDEA中设置宏,来快捷使用javap查看字节码,设置过程如下:1、打开IDEA,点击File->Settings。选择Tools->External Tool。点击左上...

2020-02-28 10:49:39 474

原创 Java | count++ & ++count

1、从字节码角度分析count++// 先看下count++的代码public class TestCount{ public static void main(String[] args) { int count = 0; int result = count++; System.out.println(result); // ...

2020-02-28 10:30:22 3282

原创 Java | DBMS

原子性:事务是一组不可分割的操作单元,这组单元要么同时成功要么同时失败(由DBMS的事务管理子系统来实现);一致性:事务前后的数据完整性要保持一致(由DBMS的完整性子系统执行测试任务);隔离性:多个用户的事务之间不要相互影响,要相互隔离(由DBMS的并发控制子系统实现);持久性:一个事务一旦提交,那么它对数据库产生的影响就是永久的不可逆的,如果后面再回滚或者出异常,都不会影响已提交...

2020-02-27 17:28:28 474

原创 Java | String类型

1、创建String对象的两种方式&区别:方式1:String s1 = "AAA"; "AAA"是字符串,在编译时期会在常量池中创建一个字符串对象,因此会从常量池中获取对象;方式2:String s2 = new String("AAA"); 如果常量池中没有"AAA"字符串对象,则会创建两个字符串对象,一个在堆中, 一个在常量池中。注意:System.out.printl...

2020-02-27 16:50:25 177

原创 Java | Java类初始化顺序

对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次如下:(静态变量、静态初始化块) >>>>>> (变量、初始化块) >>>>>> 构造器。针对类的继承关系,其初始化顺序如下:优先完成静态初始化,其次完成父类初始化,最后完成子类初始化;但需要注意的是:静态初始化过程中优先完成父类中静态...

2020-02-27 16:29:16 161

原创 Java | javac中常见参数

暴力简单直接如图:

2020-02-27 13:54:01 4844

空空如也

空空如也

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

TA关注的人

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