- 博客(82)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 SparkTroublshooting
加班至深夜,等车回家,发觉好久没写博客了,扒拉点存货,象征性的更新一把。TroubleShooting1、CDH集群默认使用内嵌数据库,要改成mysql①需要自己安装mysql;②提示JDBC driver cannot be found.Unable to find the JDBC databases jar on host解决方案:拷贝mysql-connector-ja...
2019-01-24 21:58:01
411
转载 OLTP & OLAP
OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支...
2018-11-09 11:46:57
1875
转载 ClickHouse Table Engines
Table enginestable engine 决定:数据存储的方式和地点:将数据写入何处,以及从何处读取数据支持哪些查询,如何支持的并发数据访问 如果存在索引,使用是否可以执行多线程请求数据复制当读取数据时,引擎只需要提取必要的列集。但是,在某些情况下,查询可能在表引擎中部分处理注意,对于大多...
2018-11-05 15:30:51
4386
原创 ES 6.3 x-pack插件破解
ES 6.3 x-pack插件破解ES 6.3目录结构较网上的教程发生了一些变化,x-pack-core-x.x.x.jar不在$ES_HOEM/plugins下,而是在$ES_HOEM/modules 下。①反编译x-pack-core-x.x.x.jar中LicenseVerifier.class和XPackBuild.class,修改代码。LicenseVerifier 类中的两...
2018-09-04 19:26:27
3063
原创 ES 6.3 安装head插件
ES 6.3 安装head插件①下载head压缩包,解压②确保已安装node.js,npm可用(最好换成淘宝源,速度快)设成淘宝的 npm config set registry http://registry.npm.taobao.org/换成原来的 npm config set registry https://registry.npmjs.org/...
2018-09-03 17:54:44
1940
原创 Elasticsearch localhost可以启动,绑定ip启动失败
出现bootstrap check的原因多是因为个人开发机配置不高造成的,在生产服务器上使用es默认配置启动完全没问题。但是,既然在个人机上启动有问题,总得解决是吧。方案如下:①编辑$ES_HOEM/config/elasticsearch.yml,修改network.host:为绑定ip。然后重启,报错如下②[x]: max file descriptors [4096] for e...
2018-08-15 15:30:07
5855
原创 vi常用命令
1.1 vi 文本编辑器1.1.1 vi 的两种模式1、命令模式 vi 的默认进入状态(不可以输入字符,但可以对字符进行操作,复制,移动、删除等操作)2、输入模式 输入字符状态(只可以输入和使用del 和退格backspace键删除文字)1.1.2 vi 的启动和退出#vi file 编辑file 文件#vi /tmp/file1 编辑指定目录/tem下的 file1文件...
2018-07-20 11:38:22
2957
原创 大数据面试题集锦(五)
1、简答说一下hadoop的map-reduce编程模型首先map task会从本地文件系统读取数据,转换成key-value形式的键值对集合使用的是hadoop内置的数据类型,比如longwritable、text等将键值对集合输入mapper进行业务处理过程,将其转换成需要的key-value在输出之后会进行一个partition分区操作,默认使用的是hashpartitioner,可以通过重...
2018-06-19 16:39:53
6355
原创 大数据面试题集锦(四)
1.MRV1有哪些不足?1)可扩展性(对于变化的应付能力)a)JobTracker内存中保存用户作业的信息b)JobTracker使用的是粗粒度的锁2)可靠性和可用性a)JobTracker失效会多事集群中所有的运行作业,用户需手动重新提交和恢复工作流3)对不同编程模型的支持HadoopV1以MapReduce为中心的设计虽然能支持广泛的用例,但是并不适合所有大型计算,如storm,spark2....
2018-06-14 16:33:51
4038
原创 开发模式之敏捷
今天在公司等复联3的首映,无聊之余想起来好久没写博客吹牛B了,借这点时间补一下之前瀑布开发的续集。 之前也分享过瀑布模型,关键一个字 --“细”。瀑布流式的节奏,充分利用资源避免浪费,重规划轻迭代,去繁从简,找关键指标,避免反复试错,节省迭代压力。 而今天的主题,敏捷开发恰恰相反。敏捷开发的关键字---“快”。将项目拆解成一个个细小的需求,快速完成细小琐碎的...
2018-05-10 22:50:29
3120
原创 大数据面试题集锦(三)
1.Spark使用parquet文件存储格式能带来哪些好处?1) 如果说HDFS 是大数据时代分布式文件系统首选标准,那么parquet则是整个大数据时代文件存储格式实时首选标准2) 速度更快:从使用spark sql操作普通文件CSV和parquet文件速度对比上看,绝大多数情况会比使用csv等普通文件速度提升10倍左右,在一些普通文件系统无法在spark上成功运行的情况下,使用parquet很...
2018-05-10 22:09:46
3293
原创 大数据面试题集锦(二)
1.cache后面能不能接其他算子,它是不是action操作?答:cache可以接其他算子,但是接了算子之后,起不到缓存应有的效果,因为会重新触发cache。cache不是action操作2.reduceByKey是不是action?答:不是,很多人都会以为是action,reduce rdd是action3.数据本地性是在哪个环节确定的?具体的task运行在那他机器上,dag划分stage的时候...
2018-04-20 07:06:06
4199
原创 大数据面试题集锦(一)
1.Spark master使用zookeeper进行HA的,有哪些元数据保存在Zookeeper?答:spark通过这个参数spark.deploy.zookeeper.dir指定master元数据在zookeeper中保存的位置,包括Worker,Driver和Application以及Executors。standby节点要从zk中,获得元数据信息,恢复集群运行状态,才能对外继续提供服务...
2018-04-14 22:20:42
3795
2
转载 Hive配置详解
hive的配置:hive.ddl.output.format:hive的ddl语句的输出格式,默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置;hive.exec.script.wrapper:hive调用脚本时的包装器,默认是null,如果设置为python的话,那么在做脚本调用操作时语句会变为python <script command>,null的话就是直...
2018-03-11 10:36:46
3380
原创 浅谈开发模式之瀑布模型
前面分享了N多干货,不知道看客有没有看吐,反正本凯总是写吐了。之前在合计着跳槽那点事,因为是半路出家,工作经验也只有一两年这样,所以面试准备的时候就比较尴尬,既要回顾一些底层的基础知识,又要总结项目上的内容,所以前段时间拿出了之前的学习笔记分享出来。现在入职个把月了,突然就想吐槽吐槽公司的开发模式。 众所周知,当下圈内的开发模式,可以说有四种(瀑布,敏捷,快速应用,Dev...
2018-02-15 10:49:48
8197
1
原创 SparkSQL
SparkSQL的前身是Shark,它抛弃原有Shark的代码,汲取了Shark的一些优点,如内存列存储(In-Memory Columnar Storage)、Hive兼容性等,重新开发了SparkSQL代码;由于摆脱了对Hive的依赖性,SparkSQL无论在数据兼容、性能优化、组件扩展方面都得到了极大的方便。 1、Spark SQL性能Spark SQL比hive快10-100倍
2018-02-03 19:24:33
3322
原创 Spark的运行模式
Spark的运行模式Spark的运行模式多种多样,灵活多变,部署在单机上时,既可以用本地模式运行,也可以用伪分布模式运行,而当以分布式集群的方式部署时,也有众多的运行模式可供选择,这取决于集群的实际情况,底层的资源调度即可以依赖外部资源调度框架,也可以使用Spark内建的Standalone模式。对于外部资源调度框架的支持,目前的实现包括相对稳定的Mesos模式,以及hadoop YARN模式
2018-01-29 20:35:34
3201
原创 Spark的常用RDD
1)转换算子--transformations ++ 合并两个RDD。生产一个新的RDD cache 缓存rdd,减少之后使用相同逻辑rdd的计算量,只有一个级别 Memery cartesian 笛卡尔集 coalesce 重新设置分区操作,注意,有两个参数,一个分区个数,是否shuffle。 collect 根据一个
2018-01-27 17:01:06
3259
原创 Spark架构综述
一、Spark概述1、什么是SparkSpark是一种快速、通用、可扩展的大数据分析引擎。它集批处理、实时流处理、交互式查询和图计算于一体,避免了多种运算场景下需要部署不同集群带来的资源浪费。2、Spark的优点①速度。与hadoop的MR相比,Spark的运算要快100倍以上;而基于硬盘的计算也要快10倍以上。②易用。Spark支持java、python、scala的API,
2018-01-27 16:57:42
3265
原创 Hive的条件函数、聚合函数(UDAF)和制表函数(UDTF)
一、条件函数1. If 函数: if语法: if(boolean testCondition, T valueTrue, TvalueFalseOrNull)返回值: T说明: 当条件 testCondition为 TRUE 时,返回 valueTrue;否则返回 valueFalseOrNull举例:hive> select if(1=2,100,200) from
2018-01-22 20:58:28
4378
原创 Hive的字符串函数
1. 字符 ascii 码函数:ascii语法: ascii(string str)返回值: int说明:返回字符串 str 中第一个字符的ascii 码举例:hive> select ascii('ba') from test;OK982. base64 字符串语法: base64(binary bin)返回值: string说明:返回二进制 bin
2018-01-20 21:05:00
27991
原创 Storm的Trident API
Trident API1)Apply Locally本地操作:操作都应用在本地节点的Batch上,不会产生网络传输①Functions:函数操作 函数的作用是接收一个tuple(需指定接收tuple的哪个字段),输出0个或多个tuples。输出的新字段值会被追加到原始输入tuple的后面,如果一个function不输出tuple,那就意味这这个tuple被过滤掉了。Func
2018-01-20 15:19:32
2941
原创 Storm的Trident特性
我们知道把Bolt的运行状态仅仅保存在内存中是不可靠的,如果一个node挂掉,那么这个node上的任务就会被重新分配,但是之前的状态是无法恢复的。因此,比较聪明的方式就是把Storm的计算状态信息持久化到database中,基于这一点,trident就变得尤为重要。因为在处理大数据时,我们在与database打交道时通常会采用批处理的方式来避免给它带来压力,而trident恰恰是以batch gr
2018-01-20 13:47:18
3390
原创 Hive的日期函数
1. UNIX 时间戳转日期函数: from_unixtime语法: from_unixtime(bigint unixtime[, string format])返回值: string说明: 转化 UNIX 时间戳(从 1970-01-0100:00:00 UTC 到指定时间的秒数)到当前时区的时间格式举例:hive> select from_unixtime(1323308
2018-01-20 13:40:19
4426
原创 Spark的RDD概述
弹性分布式数据集(RDDS)---RDD是只读的、分区记录的集合,只支持粗粒度转换,即在大量记录上执行的单个操作。Spark 主要以一个弹性分布式数据集(RDD)的概念为中心,它是一个容错且可以执行并行操作的元素的集合。1、RDD的五个特征:①分区:有一个数据分片列表,能够将数据进行切分,切分后的数据能够进行计算,是数据集的原子组成部分。②函数:计算每个分片,得出一个可遍历的结果,
2018-01-18 21:29:53
3177
原创 Storm的并发
Storm的并发1个worker进程执行的是1个topology的子集(注:不会出现1个worker为多个topology服务)。1个worker进程会启动1个或多个executor线程来执行1个topology的(spout或bolt)。因此,1个运行中的topology就是由集群中多台(可能是一台)物理机上的一个或者多个worker进程组成的。executor是worker进程启动的一个单独线
2018-01-18 21:14:43
3082
原创 Storm的调度
Storm调度调度器①EventScheduler:将系统中的可用资源均匀地分配给需要资源的topology,其实也不是绝对均匀,后续会详细说明②DefaultScheduler:和EvenetScheduler差不多,只不过会先将其它topology不需要的资源重新收集起来,再进行EventScheduler③IsolationScheduler:用户可定义这个topology的机器资源,sto
2018-01-18 21:10:26
3465
原创 DAO模式
DAO模式1)什么是Dao?Data Access Object(数据存取对象)位于业务逻辑和持久化数据之间实现对持久化数据的访问2)DAO模式的作用?隔离业务逻辑代码和数据访问代码隔离不同数据库的实现3)DAO模式的组成部分DAO接口DAO实现类实体类数据库连接和关闭工具类4)编写DAO程序跟朋友写的一个玩具项目,一个模拟的学习平台,提供注册、登陆、点赞、收藏、评论、积分、签到等诸多功能,采用了
2018-01-18 17:57:33
3294
原创 工作流调度器之Azkaban
Azkaban1. 工作流调度器概述1.1. 为什么需要工作流调度系统一个完整的数据分析系统通常都是由大量任务单元组成:shell脚本程序,java程序,mapreduce程序、hive脚本等各任务单元之间存在时间先后及前后依赖关系为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行例如,我们可能有这样一个需求,某个业务系统每天产生20G原始数据,我们每天都要对其进行处理,处理步骤
2018-01-18 10:33:16
3163
原创 Shell编程
一、Shell的HelloWorld#!/bin/bashecho “HelloWorld!”#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。运行方法有两种:./helloworld.sh/bin/sh helloworld.sh(这种运行方式是作为解释器的参数,.sh文件第一行不需要#!) 二、Shell的变量1.定义变量
2018-01-17 18:39:00
2959
原创 Storm的DRPC
Storm drpc 1.DRPC介绍Storm是一个分布式实时处理框架,它支持以DRPC方式调用.可以理解为Storm是一个集群,DRPC提供了集群中处理功能的访问接口.其实即使不通过DRPC,而是通过在Topoloye中的spout中建立一个TCP/HTTP监听来接收数据,在最后一个Bolt中将数据发送到指定位置也是可以的。而DPRC则是Storm提供的一套开发组建,使用DRPC可以极
2018-01-14 19:46:38
3202
原创 Storm集成HBase、JDBC、Kafka、Hive
代码参上/** * storm集成Kafka、Hive、JDBC、HBase、HDFS * Created by sker on 17-11-13 * kafka集成storm,将数据发到JobBolt做中文分词逻辑; * 结果发到不同bolt,然后分别存入hive、hbase、mysql和hdfs */public class SegGoGo { public stat
2018-01-14 19:41:46
4375
原创 结合代码理解Scala的隐式转换
Scala的隐式转换github传送门:https://github.com/ZzzzZzreal/ScalaDemo/blob/master/src/main/scala/Day04/Demo.scala/** * Implicit * Scala的隐式转换 */object Demo extends App { class SwingType { d
2018-01-12 16:43:46
3124
原创 代码理解Scala的模式匹配
Scala的模式匹配---结合代码理解object Test extends App{ /** * 关于匹配模式 一个包罗万象的例子 */case class Person(firstName: String, lastName: String)case class Dog(name: String) def echoWhatYouGaveMe(x: An
2018-01-12 16:36:08
2993
原创 Scala自学代码笔记
Scala代码笔记github传送门:https://github.com/ZzzzZzreal/ScalaDemo/blob/master/src/main/scala/Day01/Demo.scalaimport java.util.concurrent.TimeUnitimport Scala.collection.mutable.ListBuffer/** * Sca
2018-01-12 16:27:50
3011
原创 Flume的安装配置及使用案例
1. 安装配置1.1. 解压安装tar -zxvf apache-flume-1.6.0-bin.tar.gz -C /optmv apache-flume-1.6.0-bin flume1.2. 配置环境变量vim /etc/profileexport FLUME_HOME=/opt/flumeexport PATH=$PATH:$JAVA_HOME/bin:$HAD
2018-01-12 16:05:20
3079
原创 Hive的DML
Hive的DML---对表的操作,load数据、增删改查1)loadload data [local] inpath '文件路径' [overwrite] into table datetable02; -->加载数据到对应的表,关键字 local是本地文件,如果没有那么是HDFS上的文件。关键字overwrite是是否覆盖,如果有,覆盖。2)insert--into Hive
2018-01-12 15:14:03
3178
原创 基于ZK的Hadoop HA高可用集群搭建
什么是高可用高可用性H.A.(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。HA三种工作方式(1)主从方式 (非对称方式)工作原理:主机工作,备机处于监控准备状况;当主机宕机时,备机接管主机的一切工作,待主机恢复正常后,
2018-01-12 14:05:06
3864
原创 理解HDFS文件的读与写过程
◆理解HDFS读与写过程HDFS读1. 初始化FileSystem,然后客户端(client)用FileSystem的open()函数打开文件2.FileSystem用RPC调用元数据节点,得到文件的数据块信息,对于每一个数据块,元数据节点返回保存数据块的数据节点的地址。3.FileSystem返回FSDataInputStream给客户端,用来读取数据,客户端调用stream的r
2018-01-12 13:52:04
3205
原创 hadoop的三大核心组件之MapReaduce
Hadoop的三大核心组件之MapReaduceMapReduce是什么?MR是一个分布式计算框架,它是Hadoop的一个程序,不会产生进程。MR部分需要结合代码来理解学习,由于代码篇幅原因不方便截图,代码已经贴到github上,注释也挺详细,有需要的朋友可以去看,传送门:https://github.com/ZzzzZzreal/HadoopKeyPoints(DATA文件夹
2018-01-12 11:25:07
6243
6.3版本elk问题求助!!!!!
2018-08-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人