`
kelvinliu117
  • 浏览: 19169 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
awk 用法:awk ' pattern {action} '  变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 NF 当前记录里域个数 NR 到目前为止记录数 OFS 输出域分隔符 ORS 输出记录分隔符 1、awk '/101/'               file 显示文件file中包含101的匹配行。    awk '/101/,/105/'         file    awk '$1 == 5'             file    aw ...

linux awk命令详解

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。   awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。   awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式 ...
转载:http://www.tbdata.org/archives/2109 几个比较特殊的点都提到了,大家可以作为参考。   在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的分配到各个reduce中,就是解决数据倾斜的根本所在。规避错误来更 ...
HiveQL 去重操作 和SQL一样,HiveQL中同样支持DISTINCT操作,如下示例: (1) SELECT count(DISTINCT uid) FROM log (2) SELECT ip, count(DISTINCT uid) FROM log GROUP BY ip (3) SELECT ip, count(DISTINCT uid, uname) FROM log GROUP BY ip (4) SELECT ip, count(DISTINCT uid), count(DISTINCT uname) FROM log GROUP BY ip   当我们使用H ...

Hive优化2

    博客分类:
  • hive
Hive是将符合SQL语法的字符串解析生成可以在Hadoop上执行的MapReduce的工具。 使用Hive尽量按照分布式计算的一些特点来设计sql,和传统关系型数据库有区别, 所以需要去掉原有关系型数据库下开发的一些固有思维。   基本原则: 1:尽量尽早地过滤数据,减少每个阶段的数据量,对于分区表要加分区,同时只选择需要使用到的字段 select ... from A join B on A.key = B.key where A.userid>10      and B.userid<10         and A.dt='20120417'     ...
优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜。 理解hadoop的核心能力,是hive优化的根本。这是这一年来,项目组所有成员宝贵的经验总结。   长期观察hadoop处理数据的过程,有几个显著的特征: 1.不怕数据多,就怕数据倾斜。 2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完的。map reduce作业初始化的时间是比较长的。 3.对sum,count来说,不存在数据倾斜问题。
LEFT SEMI JOIN 是 IN/EXISTS 子查询的一种更高效的实现。 hive 中没有in/exist 这样的子句,所以需要将这种类型的子句转成left semi join. left semi join 是只传递表的join key给map 阶段 , 如果key 足够小还是执行map join, 如果不是则还是common join 可以用 LEFT SEMI JOIN 重写你的子查询语句。LEFT SEMI JOIN 的限制是, JOIN 子句中右边的表只能在 ON 子句中设置过滤条件,在 WHERE 子句、SELECT 子句或其他地方过滤都不行。     SELEC ...
凡是你排斥的,就是你所要学习的!                 从外在看内在,从别人看自己。 透过别人, 你才能认识真正的自己 你从别人身上看到的其实是自己。 我们对别人的意见,主要是取决于他们使我们看清自 己什么,而不是 ...
SecondNamenode名字看起来很象是对第二个Namenode,要么与Namenode一样同时对外提供服务,要么相当于Namenode的HA。真正的了解了SecondNamenode以后,才发现事实并不是这样的。下面这段是Hadoop对SecondNamenode的准确定义: * The Secondary Namenode is a helper to the primary Namenode.* The Secondary is responsible for supporting periodic checkpoints* of the HDFS metadata. The cu ...

深入了解Hadoop

一、前提和设计目标 1、硬件错误是常态,而非异常情况,HDFS可能是有成百上千的server组成,任何一个组件都有可能一直失效,因此错误检测和快速、自动的恢复是HDFS的核心架构目标。 2、跑在HDFS上的应用与一般的应用不同 ...
str.strip() 同时去掉左右两边的空格str.lstrip() 去掉左边的空格str.rstrip() 去掉右边的空格   eg: m = ' jafefefe ' minfo = m.strip() print minfo 输出结果:jafefefe  

hive 表结构操作

    博客分类:
  • hive
简单的创建表 create table table_name ( id int, dtDontQuery string, name string ) 创建有分区的表 create table table_name ( id int, dtDontQuery string, name string ) partitioned by (date string) ...

hadoop节点管理

(hadoop版本1.0.3) hadoop增加节点操作 前提操作系统环境已经成功安装完成,步骤如下: 第一: master主机里的$HADOOP_HOME/conf下,修改slaves文件,增加新增节点主机名 第二:配置免登录设置 第三:新增节点启动datanode和tasktracker两个进程           $HADOOP_HOME/bin/hadoop-daemon.sh start datanode          $HADOOP_HOME/bin/hadoop-daemon.sh start tasktracker 第四:master刷新所有节点     ...
一、虚拟机及系统安装 1. 下载vmware,并成功安装; 2. 在vmware中安装Linux系统;   二、在虚拟机中配置JAVA环境 1.安装java虚拟机(jdk-6u31-linux-i586.bin); 2.配置环境变量 (1) vi /etc/profile  (编辑文件) (2) 添加 JAVA_HOME CLASSPATH PATH <!--[endif]--> (3) source /etc/profile  (注入环境变量)   注:使用ROOT用户     三、修改hosts vim /etc/hosts 修改为: 19 ...
Global site tag (gtag.js) - Google Analytics