利用shell脚本结合hive语句进行数据加载时的优化
把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语句进行数据加载时的优化相关推荐
- Spark _25.plus _使用idea读取Hive中的数据加载成DataFrame/DataSet(四)
对Spark _25 _读取Hive中的数据加载成DataFrame/DataSet(四) https://georgedage.blog.csdn.net/article/details/10309 ...
- Spark _25 _读取Hive中的数据加载成DataFrame/DataSet(四)
由于Hive不在本地,操作略显麻烦.不过细心一点,分析错误,也还好,如果你搭建的hadoop是HA,需要多注意: 这里指出一个错误,如果你报了同类错误,可以参考:https://georgedage. ...
- hive分区、数据加载、数据导出、数据类型
一.hive分区 1.特点: 分区表与其他表不同点在于,分区字段的值为表目录下的子目录格式 ,为: 分区字段=值 2.建表语句 create database learn2; CREATE TABLE ...
- Unity导表工具Luban插件的数据加载原理与优化
文章目录 1. 配置Luban并测试 2. Luban 数据加载原理 3. 根据工程进行懒加载优化 3.1 增加公共接口与接口实现方法 3.2 外部提供获取数据的方法 3.3 对Luban中的导表模板 ...
- Spark读取Hive中的数据加载为DataFrame
首先要告诉SparkSql,Hive在哪.然后读取Hive中的数据,必须开启enableHiveSupport. val spark = SparkSession.builder().appName( ...
- Silverlight数据加载时,等待图标显示与隐藏(Loading)
在我们开发SilverLight时,在加载大的数据时,需要很长时间,为了给用户一个好的印象,我们给一个正在加载的提示,下面我就把简单的程序贴出来,希望对大家有帮助 waiting.xaml<Us ...
- Linux脚本输出99乘法表,利用shell脚本各种循环语句输出九九乘法表
SHELL语句主要包含三种:for循环语句.while循环语句.unitl循环语句. 这里分别使用这三种循环或者结合使用来实现九九乘法表.详细如下: 使用for循环实现: #!/bin/bash #f ...
- Angular\Vue解决页面数据加载时出现{{message}}闪烁的情况
vue 使用v-cloak <style type="text/css">[v-cloak] { display: none } </style> < ...
- bootstrap table 动态列数据加载(一)
bootstrap table 动态列数据加载(一) 我想把所有的收费项目作为表头,不固定死收费项目,数据库中有啥就显示啥. 动态数据加载时,不能用bean的嵌套,源码中加载表头和数据是分开的,第几列 ...
最新文章
- 使用nmonchart把.nmon文件转换成html
- SAP MM 采购报表中Delivery Date的显示
- Android TextView内容过长加省略号,点击显示全部内容
- MSSQL DBA权限获取WEBSHELL的过程
- TeaDSL:支持任意 OpenAPI 网关的多语言 SDK 方案
- full outer join 与full join的区别_基础小白的SQL的JOIN语法解析
- 如何让BERT具有文本生成能力
- php语句insert,SQL INSERT INTO
- Ubuntu easypr的配置
- error: field ‘ifru_hwaddr’ has incomplete type
- DataWindow的数据更新技术及应用
- 防火墙 蓝精灵DoS P127
- JavaScript的全局作用域、全局对象window
- 新发布!易聊 SCRM 正式上线
- c 语言printf输出,位数不够补0
- 直流无刷电机驱动芯片DRV8306使用
- 详细解读什么是自适应巡航?
- 每日学术速递2.16
- 03-软件配置项管理计划
- sdutacm- 数据结构实验之排序一:一趟快排
热门文章
- 关于程序多开的尝试。CreateMutex,OpenMuxtex,ReleaseMutex
- python爬取学校题库_如何使用 Python 爬虫爬取牛客网 Java 题库?
- pyecharts x轴全显示_超详细Pyecharts 1.x 教程,让你的图表动起来
- android如何查看分区信息,android如何查看分区信息
- mysql 不同的文件系统_文件系统,数据库管理系统,操作系统之间有什么联系?...
- react native连接mysql_react-native上手之环境搭建及连接模拟器
- 11.QT事件机制源码时序分析(下)
- bartlett方差齐性检验_R语言实用教程-数据正态性以及方差齐性检验
- 通过describe命令学习Kubernetes的pod属性详解
- 推荐一个非常好用的Chrome扩展应用,用于美化Json字符串