从零自学Hadoop(25):Impala相关操作下
阅读目录
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。
文章是哥(mephisto)写的,SourceLink
序
上一篇,我们介绍Impala的相关操作。
下面我们开始继续进一步的了解Impala的相关操作。
导入数据
一:INSERT VALUES
该方式不适合载入大量的数据到基于 HDFS (HDFS-based)的表,因为插入操作无法并行,并且每一个语句会产生单独的数据文件,形成很多小文件。
不要运行每次只插入单行数据的 很多条的 INSERT ... VALUES 语句的脚本,会产生很多小文件。将数据都放在VALUES中会好很多,就没有那多的小文件。insert into student values ('','张三','男','2017-10-23 10:10:20'), ('','李四','男','2017-10-23 10:10:20'), ('','王五','男','2017-10-23 10:10:20');
insert into student values ('','张三1','男','2017-10-23 10:10:20'), ('','李四1','男','2017-10-23 10:10:20'), ('','王五1','男','2017-10-23 10:10:20');使用insert into table 语法,每一组新插入的数据,都会追加到原来的数据后。
![]()
我们可以看到hdfs中有两个文件。也就是说insert一次就生成一个文件,所以会产生很多小文件。
使用insert overwrite table 语法,每一组新插入的数据,都会覆盖表中原有的数据。
insert overwrite student values ('','张三2','男','2017-10-23 10:10:20'), ('','李四2','男','2017-10-23 10:10:20'), ('','王五2','男','2017-10-23 10:10:20');
二:LOAD DATA语句
LOAD DATA 语句简化了 Impala 内部表从 HDFS 位置移动一个或目录下所有数据文件到该表对应的 Impala 数据目录中的 ETL 过程。
新建待导入文件数据 student.txt
从本地上传到hdfs
sudo -u impala hdfs dfs -put student.txt /tmp/student.txt查看
hadoop fs -ls /tmp/
导入
load data inpath '/tmp/student.txt' into table student ;
可以看到文件的内容导入到了表中,
并且对应的hdfs目录的文件已经不再了。重新将文件上传到对应目录
然后重新导入
这次我们使用overwriteload data inpath '/tmp/student.txt' overwrite into table student ;
可以看到数据已经加载进去,并且原有的数据都被替换掉了。
三:分区表的load data
新增分区
alter table student_p add partition (year='',month='',day='');
alter table student_p add partition (year='',month='',day='');
load data inpath '/tmp/student.txt' overwrite into table student_p partition(year='',month='',day='') ;
load data inpath '/tmp/student.txt' overwrite into table student_p partition(year='',month='',day='') ;这之间还需要再将文件上传到hdfs
select * from student_p;
可见指定了分区后,不会影响到其他分区的数据。
查询
查询这里就只举几个可能需要注意到的,其他的语法可以详见官网。
一:limit
设置select查询中结果集的最大行数
select * from student limit 1;
二:offset
offset可以和limit一起使用,可以用于模拟“分页”结果集,实际中最好不要这样用,尽量的将结果集缓存到应用端,在应用端分页。
select * from student order by id limit 1 offset 0;
select * from student order by id limit 1 offset 1;
--------------------------------------------------------------------
到此,本章节的内容讲述完毕。
系列索引
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。
文章是哥(mephisto)写的,SourceLink
从零自学Hadoop(25):Impala相关操作下的更多相关文章
- 从零自学Hadoop(04):Linux准备下
阅读目录 序 搭建环境 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 我们已经准 ...
- 从零自学Hadoop系列索引
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 从零自学Hadoop(01):认识Hadoop ...
- 从零自学Hadoop(24):Impala相关操作上
阅读目录 序 数据库相关 表相关 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- 从零自学Hadoop(20):HBase数据模型相关操作上
阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- 从零自学Hadoop(21):HBase数据模型相关操作下
阅读目录 序 变量 数据模型操作 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- 从零自学Hadoop(23):Impala介绍及安装
阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇, ...
- 从零自学Hadoop(15):Hive表操作
阅读目录 序 创建表 查看表 修改表 删除表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceL ...
- 从零自学Hadoop(22):HBase协处理器
阅读目录 序 介绍 Observer操作 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...
- 从零自学Hadoop(19):HBase介绍及安装
阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇, ...
随机推荐
- Junit4学习(五)Junit4测试套件
一,背景 1,随着开发规模的深入和扩大,项目或越来越大,相应的我们的测试类也会越来越多:那么就带来一个问题,假如测试类很多,就需要多次运行,造成测试的成本增加:此时就可以使用junit批量运行测试类的 ...
- 【翻译】基于web创建逼真的3D图形 | CSS技巧
个人翻译小站:http://www.zcfy.cc/article/creating-photorealistic-3d-graphics-on-the-web-css-tricks-4039.htm ...
- 读取指定excel,修改并某个值并另存到指定路径
HSSFWorkBook是解析excel2007以前的版本(xls)之后的版本使用XSSFWrokBook(xlsx) 附:处理excel2007之后的版本代码: package gbyp.autoQ ...
- HashMap、HashTable、ArrayList、LinkedList、Vector区别
HashTable和HashMap区别 ①继承不同. public class Hashtable extends Dictionary implements Map public class Has ...
- python之time模块
from time import * ''' class struct_time(tuple): pass ''' tuple1 = (, , , , , , , , ) s = struct_tim ...
- JavaScript 基本语法结构
1 变量 JavaScript的变量是弱类型的,就是所有的对象都是使用var 来进行声明 2 变量的命名规则 1.由字母.数字.下划线组成,区分大小写 2.以字母开头 3.变量名不能有空格 4.不能使 ...
- 【DDD】领域驱动设计实践 —— Application层实现
本文是DDD框架实现讲解的第二篇,主要介绍了DDD的Application层的实现,详细讲解了service.assemble的职责和实现.文末附有github地址.相比于<领域驱动设计> ...
- 《MATLAB从入门到放弃》二维曲线和图形绘制基础(一): 什么是图形对象和句柄 ?
图形对象 一个图形包含了不同的对象 图形包括 核心对象和绘制对象 . 核心对象 线条对象 : line 文本对象 : text 矩形对象 : rectangle 补丁对象 : patch 图像对象 ...
- Thread.Join 和 Task.Wait 方法
这两个方法 可以说是类似的功能,都是对当前任务进行等待阻塞,执行完毕后再进行后续处理 talk is cheap, show you code,下面一个是异步执行,一个是加了阻塞,可以对比不同执行结果 ...
- H5页面解决IOS进入不自动播放问题(微信内)
废话少说,直接上代码. 主要还是调用微信的jdk做兼容处理.,安卓可自动播放. ($(function(){ $(function(){ /* ** 复选框*/ $('.ul-radio').on(' ...














