自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 常用hive语句

操作databasecreate 创建CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_name=property_value, ...)];schem...

2019-04-19 20:25:01 528

原创 mac端开发环境搭建

mac环境配置

2022-11-04 10:32:07 176

原创 kubantu系统安装配置(日常使用)

浏览器无法输入中文原文链接:https://blog.csdn.net/weixin_40762393/article/details/80548799解决方式: 打开 /root/.bashrc 在最后面添加下面一句话vim /root/.bashrcexport LC_CTYPE=zh_CN.UTF-8重启电脑后生效特别注意:我登录系统时用的是root用户,若你用其他用户,如adm...

2019-11-24 18:42:17 610

原创 用python配置钉钉机器人

摘要在linux shell中, 钉钉机器人的消息主体貌似必须是写死的, 很不灵活.于是使用python发送钉钉消息代码展示用python发送钉钉时, 不需要导入钉钉相关的依赖 -*- coding:utf-8 -*-import osimport datetimeimport requestsimport json##### 发消息的主体 #####def msg(tex...

2019-09-28 18:28:32 2093 2

原创 用python发邮件(带附件)

摘要Linux环境下, 后台任务运行结束后, 往往需要将运行结果传递出去. 这就需要在邮件中添加附件, 或者直接在邮件正文中展示.可以使用python脚本实现此功能.**未解决: **发送附件时, 不管附件的源格式是什么, 接收到的邮件中的附件文本内容都是UTF-8编码, 但是excel不支持UTF-8格式的文本. 这就导致, 附件后缀是.xls和.csv时, 预览附件会显示乱码, 也无法用...

2019-09-28 17:27:05 1616

原创 zookeeper数据恢复

删除topickafka未设置delete.topic.enable=true时, 尝试删除topic会显示test - marked for deletion于是登录zookeeper客户端(zkCli.sh), 尝试删除topic查看topic所在的目录: ls /brokers/topics;查看marked for deletion标记的topic: ls /admin/dele...

2019-07-09 15:07:53 2815

原创 更新hive表

前言hive表的更新, 需要对原表的完全重写. 或者说, hive表结构的设计, 本身的优势在于, 结合高扩展性实现的近乎无限的容量, 它应对数据变化是十分低效的所以设计数仓时, 如果大量数据有更新的需求, 就应该考虑hive+的架构模式但是数仓基本成型之后, 改变架构的成本很高. 这时候, 虽然效率较低, 但依旧可以使用hive完成数据的更新.数据可以完成更新的前提是有更新标识, 常见的...

2019-07-04 18:06:33 4354

原创 (spark源码)union算子

摘要问题: spark中, union方法是否重新分区, 是否会触发shuffle结论: 不会shuffle, 不会划分stage, 但是可能重新分区(窄依赖)解释:宽窄依赖对应的原称为ShuffleDependency和NarrowDependency, 字面上可以看出来, 只有宽依赖才会发生shuffle. 但是两种依赖都会重新分区, 因此重分区和是否shuffle没有关系如...

2019-07-04 14:49:45 3806 1

原创 (小结)日志框架

说明开发spark相关项目的时候, 在日志框架的选用上踩了一些坑, 记录如下:原本计划使用logback, slf4j提示异常.尝试在maven设置exclusions, 以排除原有的log4j框架. 但是hadoop相关架构大多使用log4j框架, 排除起来很费精力, 而且大量设置exclusions降低了pom文件的可读性.决定和原日志框架保持一致, 也就是沿用log4j框架log...

2019-07-03 15:09:58 137

原创 Elasticsearch(6.1+版本)入门语法

使用curl操作escurl与es交互的语法为:curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'# verb http方法有五种: GET, POST, PUT, HEAD, DELETE# protoc...

2019-07-01 20:33:42 575

转载 ES集群搭建

ES集群搭建需要准备如下# es启动时需要使用非root用户, 所以创建一个bigdata用户useradd bigdata# 为bigdata用户添加密码echo 123456 | passwd --stdin bigdata# 将bigdata添加到sudoersecho "bigdata ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers...

2019-06-21 19:57:32 4068

原创 azkaban安装配置

任务调度系统的比较oozie优势: 老牌任务调度系统, 稳定性高; cdh版本自动集成. 无需担心兼容性劣势: 重量级, 任务调度依靠xml文件, 门槛较高, 不够灵活, 不易于二次开发和后期维护kattle优势精细化控制, 可以自定义实现复杂功能可以在windows上修改, 创建, 修改, 运行控制任务劣势很多需求要kattle在linux上运行, kattle的设计往往在w...

2019-06-21 19:22:13 1256

原创 hive细节补充

杂谈hive不是数据库, 更不是关系型数据库, 它是计算框架它不存在索引的概念, 而是依靠并行处理提高的效率distribute by+ 指定reduceTask的数量, 可以在一定程度上, 依据键切分源表.但是distribute by保证相同键的元素在相同分区, 但不保证分区中只有相同的键因此这个切分是很不稳定的, 不建议使用顺便一提, String格式的键进行distribut...

2019-06-21 12:22:02 847 1

原创 (spark源码)randomSplit算子

摘要ods层是高度聚合的数据, 经常需要将一张大表拆分为多张小表.hive的分表基本只能依靠when, 通过多次遍历完成过滤, 但由于spark可以指定分区, 于是考虑借助自定义分区后, 借助分区直接对表进行拆分先说结论: 思路失败, 建议选择filter或者when完成分表本文用于记录思路和简析randomSplit方法思路如果api中有相应的方法, 可以直接拆分单表为多表, 那么该...

2019-06-20 19:49:55 1426

原创 (小结)Maven的Pom文件

引用官网的一句话吧The pom.xml file is the core of a project's configuration in Maven. It is a single configuration file that contains the majority of information required to build a project in just the way y...

2019-06-20 16:41:03 406 1

原创 spark-core相关知识点

摘要四个部分, 难度递增Spark基础RDD基础job的生成和提交常用算子, 重点在于Action和Transformation算子的区分, 以及是否触发shuffle概述Spark特点速度快. 以Hadoop的MapReduce为基准, Spark比MR快100倍易用. 提供了Java, Scala, Python的API, Python和Shell的交互式界面, 80多...

2019-06-03 12:35:50 332

原创 (spark源码)job生成和提交

摘要spark中, Job的提交可以分为四个阶段RDD生成相互间的依赖关系. 实际上依赖关系是RDD的固有属性, 也就是说, 每个RDD生成时, 依赖就已经被生成了DVG过程, 将Action算子对应的RDD作为finalStage, 由后往前递归的遍历所有RDD, 并根据宽窄依赖划分Stage根据partition数量, 生成对应数量的TaskWorker调用executor执行运算...

2019-06-01 10:31:16 803

原创 一次数仓面试题目及解答

面试题目数据如下date|user|age|programid|Playtime-|-20190421|u1|30|a|4min20190421|u1|30|b|10min20190421|u2|27|a|2min20190422|u3|35|c|3min20190422|u2|27|d|1min问题如下统计:用户总量,用户平均年龄,用户平均观看时长统计:每10岁一个分段,...

2019-05-24 12:23:10 7348 10

原创 在ETL中使用avro

摘要简介部分ETL过程中使用avro格式的优越性此文章主要记录ETL过程使用avro格式存储数据时的注意事项简介出于方便性考虑, 数据仓库ods层的存储格式往往是texttext是易于人类阅读的, 当然易于以字符串的形式批量处理数据.但是如果数据源是mysql等关系型数据库, 数据本身的格式相对规范. 这种情况下, 数据抽取时如果依旧使用text格式, 必然会导致数据类型信息的丢失...

2019-05-19 23:59:56 583

原创 使用kettle自动增量导入数据

前言使用sqoop+oozie, 可以实现大批量数据从mysql到hdfs的自动导入, 我们借助网页可以实时监控流程的运转情况, 但是如果业务逻辑发生变化, 想要调整sqoop+oozie的流程细节并不是件轻松的事.kettle可以提供一个图形化的用户环境, 来描述我们要做的每一步工作, 以方便后期运维.此次流程中, 数据从mysql增量导入到hdfs, 然后加载(load)到hive中的o...

2019-05-19 20:16:04 4463 3

原创 基础shell语句

说明生产环境中, 固定流程的任务往往会以脚本的形式定时运行shell语句可以用于在linux中写脚本变量一门语言的入门, 最先接触的就是变量shell中的变量不需要提前声明, 可以直接使用name="carney"# 变量名和等号之间,不能有空格可以使用语句给变量赋值使用双引号调用shell指令返回的就是该指令运行后显示在控制台上的字符串myname=`/bin/d...

2019-05-14 16:00:08 210 1

原创 消除低版本os运行Hadoop时的警告

问题来源hadoop运行时出现警告[ WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable ]打开调试,查看具体的报错信息# 1) 开启调式模式$ vi /etc/profi...

2019-05-14 14:47:17 225

原创 flume的使用

flume也分为两个版本, 0.9和1.x1.x更为灵活, 而且更为轻便.1.x版本之后, flume成为了一个更加纯粹的数据收集和传输工具安装使用flume的二进制安装解压缩后配置环境变量即可说明生产环境中往往会监控文件目录, 第1段代码的source正是文件目录但是之后的代码都监控指定文件, 因为文件内容的更新更为方便第2段代码的sink是hdfs, 其余代码的sink大多...

2019-05-14 14:21:04 416 1

原创 用代码来理解MapReduce3_输入输出流

前言MapReduce框架让我们可以专注于算法逻辑,而不需要去关注代码实现但如果有需求,我们几乎可以自定义MR流程中的全部组件,如下大框架Mapper,Reducer,Runner,还有常用到的自定义类Bean分组逻辑GroupingComparator,分区逻辑Partitioner,Map端预聚合逻辑Combiner输入流InputFormat,输出流OutputFormat自...

2019-05-03 23:03:42 399

原创 用代码来理解MapReduce2_分组分区和combin优化

前言MapReduce框架让我们可以专注于算法逻辑,而不需要去关注代码实现但如果有需求,我们几乎可以自定义MR流程中的全部组件,如下大框架Mapper,Reducer,Runner,还有常用到的自定义类Bean分组逻辑GroupingComparator,分区逻辑Partitioner,Map端预聚合逻辑Combiner输入流InputFormat,输出流OutputFormat自...

2019-05-03 22:06:42 254

原创 用代码来理解MapReduce1_常用的自定义类

前言MapReduce框架让我们可以专注于算法逻辑,而不需要去关注代码实现但如果有需求,我们几乎可以自定义MR流程中的全部组件,如下大框架Mapper,Reducer,Runner,还有常用到的自定义类Bean分组逻辑GroupingComparator,分区逻辑Partitioner,Map端预聚合逻辑Combiner输入流InputFormat,输出流OutputFormat自...

2019-05-03 20:45:29 454

原创 hdfs和mr相关知识问答

1.HDFS写数据流程1)客户端发起请求,namenode检查请求的合法性.如果请求合法,客户端切分文件并发送第一个块文件2)namenode查看自己的datanode池,负载均衡选出可用的datanode,并将可用的地址列表返回给客户端3)客户端就近挑选地址,然后将文件写入缓存.缓存达到一个块的大小时,与所选地址建立连接并开始传输4)第一个datanode以4k为单位接收数据并写入本地仓...

2019-05-03 11:00:23 857 1

原创 HadoopHA5_安装hbase

前言Hbase是一个非关系型数据库,它的语法和sql语法有很大的区别,初学时会觉得很不习惯但是与关系型数据库不同,hbase没有复杂的语句体系,以实现各种数据处理的需求(语句体系不复杂意味着学起来不用花太多时间)这是因为Hbase的优势不在于处理分析数据,它适用于即时查询超量数据的情境.环境版本linuxcentos_6.7jdk1.8.0_60had...

2019-05-02 22:40:34 235

原创 HadoopHA3_hadoop高可用的配置文件

前言linux环境下的软件,可以通过二进制,rpm,yum和源码包四种方式安装其中只有源码包的安装较为复杂软件使用的重点在于修改调试配置文件环境版本linuxcentos_6.7jdk1.8.0_60hadoop2.7.1zookeeper3.4.7mysql5.6.26hive1.2.1-binhbase1.2.1...

2019-05-02 22:33:43 538

原创 HadoopHA3_搭建hadoop高可用

前言中大型的hadoop集群,往往会通过CDH来统一安装,配置.但是维持CDH本身就需要消耗系统资源,如果是小型集群,或者只是搭建测试环境,就需要手动搭建hadoop集群.hadoop的设计本身,就具备着极强的的扩展性.所以搭建集群时,最耗时的是配置集群核心.换言之,我们只要先将集群核心搭建完成,Hadoop集群的扩展也就不是问题狭义上的核心其实只有2台机器:namenode和 reso...

2019-05-02 22:26:16 471

原创 HadoopHA2_搭建时间同步服务器和yum源

前言网络是传递资源和信息最为方便快捷的途径即使是在没有外网的纯局域网环境中,也要搭建起一台服务器,以方便机群中的各个节点下载资源因此,在真正开始搭建hadoop集群之前,需要先搭建起时间同步服务器和yum源环境版本linuxcentos_6.7jdk1.8.0_60hadoop2.7.1zookeeper3.4.7mysql5.6.26...

2019-05-02 21:25:14 336

原创 HadoopHA1_安装windows+linux双系统

想在linux集群上搭建hadoop环境,首先要有一个linux集群如果没有可用的机群,或是只是为了简单的测试,新建多台虚拟机是不错的选择.在虚拟机中安装linux的流程十分简单,不再赘述.来看一下如何在硬盘上安装linux系统.windows10 + centOS_7.5双系统安装步骤配置陌生环境之前,最好先访问官网:谷歌centOS即可(如果对英文网站不太熟悉,可以借助浏览器的翻译...

2019-05-01 23:53:46 423 2

原创 hadoop的FileSystem类中,遍历文件目录的三种方法(源码和区别)

hdfs的java api中,可以调用FileSystem类来管理文件该类中有三个不同的方法(listStatusIterator, listLocatedStatus, listFiles),都是用于获取指定目录下的所有文件(文件夹)那么这三个方法有什么区别呢?listStatusIterator方法和listLocatedStatus方法非常类似,都可以获取到所有的文件和文件夹. ...

2019-04-30 14:26:33 5201

原创 mysql入门语句

说明:这篇文章用来回忆mysql语言框架, 内容很入门刚接触mysql的时候, 四种基本语言指的是是:ddl, dml, dql, dcl现在再看维基百科, 四种语言变成了:ddl, dml, dcl, tcl举例中的变量主要要有两个:mydata是一个database;pstable是一个table,涉及到三个属性:name,age,loveddl(数据库定义语言)作用: 对...

2019-04-18 20:09:42 226 1

原创 HadoopHA4_Hive的安装和相关异常

(安装的易错点在于mysql数据库的配置)环境:catenOS6.7;hadoop2.7.1第一步:配置mysql(5.6.26版本)1)新建hive用户# create user 'hive' identified by 'hive'注:虽然可以直接使用root用户,但是推荐新建hive用户2)更改hive用户的权限,刷新权限# grant all privileges on *...

2019-04-18 01:27:13 326 2

空空如也

空空如也

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

TA关注的人

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