加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

hive --hiveconf -f 详解

(2017-12-13 16:59:45)
标签:

hive

--hiveconf

hive执行hql文件

分类: 大数据
业务场景:

    每天在固定一个目录生成一个以当前日期的目录,其下每小时生成以日期+小时的文件(例如:2017121201.log、2017121202.log等),需将生成的文件导入Hive表accecc_log表中


create table access_log( id string,
url string ,
referer string ,
keyword string ,
type string ,
guid string ,
pageId string ,
moduleId string ,
linkId string ,
attachedInfo string ,
sessionId string ,
trackerU string ,
trackerType string ,
ip string ,
trackerSrc string ,
cookie string ,
orderCode string ,
trackTime string ,
endUserId string ,
firstLink string ,
sessionViewNo string ,
productId string ,
curMerchantId string ,
provinceId string ,
cityId string ,
fee string ,
edmActivity string ,
edmEmail string ,
edmJobId string ,
ieVersion string ,
platform string ,
internalKeyword string ,
resultSum string ,
currentPage string ,
linkPosition string ,
buttonPosition   string
)partitioned by(datadate string ,hour string)
row format delimited fields terminated by '\t'

注:为了提高查询效率,使用日期及小时创建分区

技术伪码:

              1.动态获取当天日期的前一天日期目录
              2.遍历该目录下的所有文件
              3.获取遍历的文件取出当前日期
              4.获取遍历的文件取出当前小时
              5.加载数据进入access_log表中

技术实现:

http://s16/mw690/003d54oKzy7gy1m0Xoz9f&690--hiveconf -f 详解" TITLE="hive --hiveconf -f 详解" />

http://s12/mw690/003d54oKzy7gy1lZaH15b&690--hiveconf -f 详解" TITLE="hive --hiveconf -f 详解" />


hive <wbr>--hiveconf <wbr>-f <wbr>详解



技术总结及扩展:

  1.  获取当前前一天 date -d '-1 days',若获取前两天即-2,获取后一天+1
  2.  hive指定HQL文件批量执行的参数为-f ,指定的文件中含有参数,使用--hiveconf进行内部传参


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有