- 博客(76)
- 收藏
- 关注
原创 zookeeper安装部署
zookeeper安装部署Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务A、zookeeper是为别的分布式程序服务的B、Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务)C、Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务……D、虽然说可以提供各种服务,但是zookeeper在底层其实只提供了两个功能:管理(存储,读取)用户程序提交的数据;并为用户程序提供数据节点监听
2017-08-18 09:38:04 394
原创 azkaban安装部署
1.准备工作Azkaban Web服务器azkaban-web-server-2.5.0.tar.gzAzkaban执行服务器 azkaban-executor-server-2.5.0.tar.gz 脚本azkaban-sql-script-2.5.0.tar.gz MySQL目前azkaban只支持 mysql,需安装mysql服务器,本文档中默认已安装
2017-08-17 19:01:53 1979
原创 Flume日志采集框架
Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 Flume可以采集文件,socket数据包等各种形式源数据,又可以将采集到的数据输出到HDFS、hbase、hive、kafka等众多外部存储系统中 一般的采集需求,通过对flume的简单配置即可实现 Flume针对特殊场景也具备良好的自定义扩展能力,因此,flume可以适用于大部分的日常数据采集场景
2017-08-17 18:57:31 445
原创 MySQL SELECT执行顺序
mysql select 执行顺序, select语句执行顺序, select 执行顺序, sql select执行顺序, mysql语句执行顺序1、FORM: 对FROM左边的表和右边的表计算笛卡尔积,产生虚表VT1。2、ON: 对虚表VT1进行ON过滤,只有那些符合<join-condition>的行才会被记录在虚表VT2中。3、JOIN: 如果指定了OUTER JOIN(比如left join、 right join),那么保留表中未匹配的行就会作为外部行添加到虚拟表VT2中,产生虚拟表VT3。
2017-08-16 15:36:01 5049
原创 hive serde 解决多字节分隔符
hive serde 解决多字节分隔符1、使用hive内置的 其他 serde 去解决2、更改源码这里我只测试使用hive内置的 其他 serde 去解决1、使用hive内置的 其他 serde 去解决 几乎是一种万能的解决方式: 正则 RegexSerDe, LazySimpleSerDe(默认) 如果要使用RegexSerDe, 那么需要指定: 1、正则表达式 2、要根据正则表达式去匹配到的对应域的值拿出来
2017-08-15 21:28:38 2760
原创 hive内置函数和自定义函数的使用
hive内置函数和自定义函数的使用,自定义函数UDTF中的explode的使用案例内置函数get_json_object的使用案例
2017-08-15 20:17:40 601
原创 hive的select查询
hive的select查询分为基础查询和连接查询select基础查询1、order by全局排序2、sort by局部排序 : 每一个结果文件有序,每一个reduceTask有一个结果文件3、distribute by分桶 : 只分桶,不排序, 如果需要排序请加上sort by分桶的原理 : 按照分桶的字段的值的hash去模除以桶的个数来
2017-08-15 09:47:22 419
原创 hive join
1、hive HQL语句 要被翻译成MR程序2、MR中的Join操作有两种:MapJoin 和 ReduceJoinselect a.*, b.* from a join b on a.id= b.id;hive的引擎会启动检测两个输入的大小,如果有一方小于默认的25M,那么会自动转化成MapJoin调优的一个小标准:可以上调这个25M如果真的是小表是 990M, 然后自动转化成MapJoin的标准是1G:出现的问题:如果大表的数据过大,那么就有可能造成所有的节点执行MapTask的个数过
2017-08-14 19:41:52 396
原创 hive分桶管理
按照用户创建表时指定的分桶字段进行hash散列多个文件分桶表和分区表的 桶数 和 分区数的 决定机制:分桶表的个数:由用户的HQL语句所设置的reduceTask的个数决定表的分区的个数:也能由用户自定义指定。也能由程序自动生成, 分区是可以动态增长的分桶表和分区表的个数的区别:分桶表是一经决定,就不能更改,所以如果要改变桶数,要重新插入分桶数据分区数是可以动态增长的log日志一天存一个分区分桶表和分区表中数据的表现:1、分桶表中的每个分桶中的数据可以有多个key值2、分区表中
2017-08-13 22:04:42 8856
原创 hive核心基本概念
基于 Hadoop 的一个数据仓库工具: hive本身不提供数据存储功能,使用HDFS做数据存储, hive也不分布式计算框架,hive的核心工作就是把sql语句翻译成MR程序 hive也不提供资源调度系统,也是默认由Hadoop当中YARN集群来调度可以将结构化的数据映射为一张数据库表,并提供 HQL(Hive SQL)查询功能
2017-08-13 21:20:27 14759
原创 Scala学习之五隐式转换implicit
简单说,隐式转换就是:当Scala编译器进行类型匹配时,如果找不到合适的候选,那么隐式转化提供了另外一种途径来告诉编译器如何将当前的类型转换成预期类型。
2017-08-13 15:33:42 236
原创 彻底了解mapreduce核心Shuffle
彻底了解mapreduce核心Shuffle1.Shuffle的定义是什么?2.map task与reduce task的执行是否在不同的节点上?3.Shuffle产生的意义是什么?4.每个map task都有一个内存缓冲区,存储着map的输出结果,当缓冲区快满的时候需要将缓冲区的数据该如何处理?5.在map task执行时,它是如何读取HDFS的?6.读取的Split与block的对应关系可能是什么?7.MapReduce提供Partitioner接口,它的作用是什么?8.溢写是在什么情
2017-08-09 16:48:45 360
原创 mapreduce GroupingComparator mapreduce排序规则和分组规则
mapreduce自定义GroupingComparatormapreduce 排序于分组详解 mapreduce排序规则和分组规则GroupingComparator是maptasks之前的阶段,如果没有groupingcomparator那么当key为bean时候,二个bean的所有成员变量都相等时候,才会被reduce接收到一组去。而groupingcomparator是在二个bean有成员变量不想等的时候,它可以做一些手
2017-08-07 14:12:34 2834
原创 mapreduce 输出乱码
mapreduce 输出乱码 String line = new String(value.getBytes(),0,value.getLength(),"GBK")
2017-08-06 16:31:20 1263
原创 mapreduce底层key/value默认分隔符
mapreduce底层key/value默认分隔符mapreduce自定义key/value分隔符 conf.set("mapred.textoutputformat.separator"," "); 以空格为分隔符
2017-08-06 16:01:39 1248
原创 mapreduce程序本地模式调试
Exception in thread "main" java.lang.IllegalArgumentException: Pathname /c:/wordcount/output6666 from hdfs://hadoop01:9000/c:/wordcount/output6666 is not a valid DFS filenameorg.apache.hadoop.security.AccessControlException: Permission denied: user=admin,
2017-08-05 10:13:23 3820
原创 mapreduce关于大量小文件的优化策略
mapreduce关于大量小文件的优化策略在分布式的架构中,分布式文件系统HDFS,和分布式运算程序编程框架mapreduce。 HDFS:不怕大文件,怕很多小文件mapreduce :怕数据倾斜那么mapreduce是如果解决多个小文件的问题呢? mapreduce关于大量小文件的优化策略 (1) 默认情况下,TextInputFormat对任务的切片机制是按照文件规划切片,不管有多少个小文件,都会是单独的切片,都会交给一个maptask,这样,如果有大量的小文件 就会产生大量的mapta
2017-08-05 07:56:38 3441
原创 hadoop自定义对象序列化Writable和WritableComparable
如果需要将自定义的bean放在value中传输,则实现Writable接口,自定义的bean实现 的接口应该是:public class FlowBean implements Writable<FlowBean> 如果需要将自定义的bean放在key中传输,则实现WritableComparable接口,因为mapreduce框中的shuffle过程一定会对key进行排序,此时,自定义的 bean实现的接口应该是:public class FlowBean impleme
2017-08-03 17:03:40 1792
原创 hadoop入门经典:wordcount代码详解
hadoop,mapreduce,wordcount, 单词计数, wordcount代码详解
2017-08-02 20:37:27 10522 4
原创 HDFS的java操作
hdfs在生产应用中主要是客户端的开发,其核心步骤是从hdfs提供的api中构造一个HDFS的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS上的文件
2017-08-02 08:34:07 462
原创 javaAPI操作hdfs文件系统环境准备
解决javaAPI操作hdfs文件系统问题解决正常运行hadoop hdfs javaAPIjava.lang.NullPointerException at java.lang.ProcessBuilder.start(ProcessBuilder.java:1012) at org.apache.hadoop.util.Shell.runCommand(Shell.java:482)
2017-08-01 08:17:17 868
原创 linux rpm安装mysql
2017年7月22日21:16:02第一步 上传rpm安装包MySQL-client-5.5.48-1.linux2.6.x86_64.rpmMySQL-server-5.5.48-1.linux2.6.x86_64.rpm第二步 强制删除Linux原来的MySQLrpm -e mysql-libs-5.1.73-5.el6_6.x86_64 --nodeps
2017-07-22 21:16:23 1749
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人