
大数据
拾荒路上的开拓者
可能出错的地方,一定会出错
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Shell脚本变量接收hive语句的返回值
有时在写shell脚本时,脚本变量需要接收hive语句的返回值#!bin/bashsql1="use test;select count(1) from table_name;"var1=`hive -S -e "${sql1}"`但有时,hive -S -e "sql"语句执行完后,有时候执行会包含WARN开头的日志WARN: The method class org.apache.commons.logging.impl.SLF4JLogFactory#release() w.原创 2020-07-30 10:01:42 · 1768 阅读 · 0 评论 -
Hive——开窗函数
平常我们使用 hive或者 mysql时,一般聚合函数用的比较多。但对于某些偏分析的需求,group by可能很费力,子查询很多,这个时候就需要使用窗口分析函数了~注:hive、oracle提供开窗函数,mysql不提供参考文章:https://blog.youkuaiyun.com/Abysscarry/article/details/81408265...转载 2018-09-23 09:59:51 · 289 阅读 · 0 评论 -
Hadoop解决小文件存储思路
1.什么是小文件小文件一般是指明显小于Hadoop的block size的文件。Hadoop的block size一般是64MB,128MB或者256MB,现在一般趋向于设置的越来越大。后文要讨论的内容会基于128MB,这也是CDH中的默认值。为了方便后面的讨论,Fayson这里假定如果文件大小小于block size的75%,则定义为小文件。但小文件不仅是指文件比较小,如果Hadoop集群中...原创 2018-09-27 09:20:38 · 6041 阅读 · 0 评论 -
hive客户端优化——启用local本地模式
在Hive客户端测试时,默认情况下是启用hadoop的job模式,这样会导致计算非常缓慢;为方便测试,提高工作效率,可手动启动local模式,提高测试效率://是否启用local模式SET hive.exec.mode.local.auto=true; //默认false//输入的数据量max配置SET hive.exec.mode.local.auto.inputbytes.max=...原创 2018-09-15 15:23:34 · 1823 阅读 · 0 评论 -
MapReduce——对象流转中的深度拷贝技巧
在MapReduce中,map对源数据进行梳理后,以key-value形式向reduce进行数据流转, 而reduce由于需要根据相同的key、不同的value进行相应的处理,如放入List集合中进行并根据bean某个字段进行排序等,为防止同一对象一直放入List中导致同一个地址,可用Apache自带的包org.apache.commons.beanutils.BeanUtils进行...原创 2018-09-18 18:22:13 · 347 阅读 · 0 评论 -
Hadoop机架感知
1.背景 Hadoop在设计时考虑到数据的安全与高效,数据文件默认在HDFS上存放三份,存储策略为本地一份,同机架内其它某一节点上一份,不同机架的某一节点上一份。这样如果本地数据损坏,节点可以从同一机架内的相邻节点拿到数据,速度肯定比从跨机架节点上拿数据要快;同时,如果整个机架的网络出现异常,也能保证在其它机架的节点上找到数据。为了降低整体的带宽消耗和读取延时,HDFS会尽量让读取程序...原创 2018-09-12 18:39:23 · 282 阅读 · 0 评论 -
hadoop HDFS冗余数据块的自动删除
在日常维护hadoop集群的过程中发现这样一种情况: 某个节点由于网络故障或者DataNode进程死亡,被NameNode判定为死亡, HDFS马上自动开始数据块的容错拷贝; 当该节点重新添加到集群中时,由于该节点上的数据其实并没有损坏, 所以造成了HDFS上某些block的备份数超过了设定的备份数。 通过观察发现,这些多余的数据块经过很长的一段时间才会被完...原创 2018-09-12 18:36:12 · 533 阅读 · 0 评论 -
hadoop datanode节点超时时间设置
datanode进程死亡或者网络故障造成datanode无法与namenode通信,namenode不会立即把该节点判定为死亡,要经过一段时间,这段时间暂称作超时时长。HDFS默认的超时时长为10分钟+30秒。如果定义超时时间为timeout,则超时时长的计算公式为: timeout = 2 * heartbeat.recheck.interval + 10 * dfs.heartbe...原创 2018-09-12 18:34:12 · 888 阅读 · 0 评论 -
ZooKeeper典型应用场景
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利...原创 2018-09-12 14:55:43 · 175 阅读 · 0 评论 -
Hadoop各版本及源码下载地址
本人一直很推崇开源代码,相当鄙视那些拿着公开源码放到论坛中提供有偿下载的行为,现提供地址给那些Hadoop新学者下载源码的地址:http://archive.apache.org/dist/hadoop/core/里面各版本、以及源码都可以免费下载,欢迎大家免费使用!...原创 2018-09-09 16:28:25 · 7187 阅读 · 5 评论 -
zookeeper持续监听小技巧
java实现zookeeper持续监听:public class ZkDemo { //设置一个静态变量 public static ZooKeeper zk = null; public static int times=0; public static void main(String[] args) throws InterruptedExcept...原创 2018-09-07 22:58:08 · 1195 阅读 · 0 评论 -
zookeeper客户端框架Curator
Curator是Netflix公司开源的一套zookeeper客户端框架,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等等。Zookeeper的节点创建模式:PERSISTENT:持久化 PERSISTENT_SEQUENTIAL:持久化并且带序列号 EPHEMERAL:临...原创 2018-09-08 19:26:21 · 316 阅读 · 1 评论