把hdfs上的文件加载到hive分区表

version0.1:遍历目录下的所有文件,逐个文件加载,循环次数多,单个文件加载不利于发挥系统io性能

for file in `hadoop fs -ls /source_path/*/*/*|awk '{print $NF}'`
do#截取天day={file:6:8}#截取小时hour=${file:14:2}beeline -e "load data inpath 'file' into table table_name partition(p1=day,p2=hour);" done

version0.2:遍历每个小时子目录,批量文件加载,减少了循环次数,提升了系统io利用率

for file in `hadoop fs -ls -R /source_path/|awk '$NF~/\/*\/[0-2][0-9]$/{print $NF}'`
do
#截取天
day={file:6:8}
#截取小时
hour=${file:14:2}
beeline -e
"load data inpath '$file/*' into table table_name partition(p1=day,p2=hour);"
done

version0.3:只需登录一次hive,在version0.2的基础上减少每次登录hive耗费的时间

for file in `hadoop fs -ls -R /source_path/|awk '$NF~/\/*\/[0-2][0-9]$/{print $NF}'`
do
#截取天
day={file:6:8}
#截取小时
hour=${file:14:2}
str=$str;load data inpath '$file/*' into table table_name partition(p1=day,p2=hour)donebeeline -e $str; 

转载于:https://www.cnblogs.com/rabbit168/p/5544425.html

利用shell脚本结合hive语句进行数据加载时的优化相关推荐

  1. Spark _25.plus _使用idea读取Hive中的数据加载成DataFrame/DataSet(四)

    对Spark _25 _读取Hive中的数据加载成DataFrame/DataSet(四) https://georgedage.blog.csdn.net/article/details/10309 ...

  2. Spark _25 _读取Hive中的数据加载成DataFrame/DataSet(四)

    由于Hive不在本地,操作略显麻烦.不过细心一点,分析错误,也还好,如果你搭建的hadoop是HA,需要多注意: 这里指出一个错误,如果你报了同类错误,可以参考:https://georgedage. ...

  3. hive分区、数据加载、数据导出、数据类型

    一.hive分区 1.特点: 分区表与其他表不同点在于,分区字段的值为表目录下的子目录格式 ,为: 分区字段=值 2.建表语句 create database learn2; CREATE TABLE ...

  4. Unity导表工具Luban插件的数据加载原理与优化

    文章目录 1. 配置Luban并测试 2. Luban 数据加载原理 3. 根据工程进行懒加载优化 3.1 增加公共接口与接口实现方法 3.2 外部提供获取数据的方法 3.3 对Luban中的导表模板 ...

  5. Spark读取Hive中的数据加载为DataFrame

    首先要告诉SparkSql,Hive在哪.然后读取Hive中的数据,必须开启enableHiveSupport. val spark = SparkSession.builder().appName( ...

  6. Silverlight数据加载时,等待图标显示与隐藏(Loading)

    在我们开发SilverLight时,在加载大的数据时,需要很长时间,为了给用户一个好的印象,我们给一个正在加载的提示,下面我就把简单的程序贴出来,希望对大家有帮助 waiting.xaml<Us ...

  7. Linux脚本输出99乘法表,利用shell脚本各种循环语句输出九九乘法表

    SHELL语句主要包含三种:for循环语句.while循环语句.unitl循环语句. 这里分别使用这三种循环或者结合使用来实现九九乘法表.详细如下: 使用for循环实现: #!/bin/bash #f ...

  8. Angular\Vue解决页面数据加载时出现{{message}}闪烁的情况

    vue 使用v-cloak <style type="text/css">[v-cloak] { display: none } </style> < ...

  9. bootstrap table 动态列数据加载(一)

    bootstrap table 动态列数据加载(一) 我想把所有的收费项目作为表头,不固定死收费项目,数据库中有啥就显示啥. 动态数据加载时,不能用bean的嵌套,源码中加载表头和数据是分开的,第几列 ...

最新文章

  1. 使用nmonchart把.nmon文件转换成html
  2. SAP MM 采购报表中Delivery Date的显示
  3. Android TextView内容过长加省略号,点击显示全部内容
  4. MSSQL DBA权限获取WEBSHELL的过程
  5. TeaDSL:支持任意 OpenAPI 网关的多语言 SDK 方案
  6. full outer join 与full join的区别_基础小白的SQL的JOIN语法解析
  7. 如何让BERT具有文本生成能力
  8. php语句insert,SQL INSERT INTO
  9. Ubuntu easypr的配置
  10. error: field ‘ifru_hwaddr’ has incomplete type
  11. DataWindow的数据更新技术及应用
  12. 防火墙 蓝精灵DoS P127
  13. JavaScript的全局作用域、全局对象window
  14. 新发布!易聊 SCRM 正式上线
  15. c 语言printf输出,位数不够补0
  16. 直流无刷电机驱动芯片DRV8306使用
  17. 详细解读什么是自适应巡航?
  18. 每日学术速递2.16
  19. 03-软件配置项管理计划
  20. sdutacm- 数据结构实验之排序一:一趟快排

热门文章

  1. 关于程序多开的尝试。CreateMutex,OpenMuxtex,ReleaseMutex
  2. python爬取学校题库_如何使用 Python 爬虫爬取牛客网 Java 题库?
  3. pyecharts x轴全显示_超详细Pyecharts 1.x 教程,让你的图表动起来
  4. android如何查看分区信息,android如何查看分区信息
  5. mysql 不同的文件系统_文件系统,数据库管理系统,操作系统之间有什么联系?...
  6. react native连接mysql_react-native上手之环境搭建及连接模拟器
  7. 11.QT事件机制源码时序分析(下)
  8. bartlett方差齐性检验_R语言实用教程-数据正态性以及方差齐性检验
  9. 通过describe命令学习Kubernetes的pod属性详解
  10. 推荐一个非常好用的Chrome扩展应用,用于美化Json字符串