阅读目录

本文版权归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目录的文件已经不再了。

  重新将文件上传到对应目录
  然后重新导入
  这次我们使用overwrite

load 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;

  

--------------------------------------------------------------------

  到此,本章节的内容讲述完毕。

系列索引

  【源】从零自学Hadoop系列索引

 

本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。

文章是哥(mephisto)写的,SourceLink

从零自学Hadoop(25):Impala相关操作下的更多相关文章

  1. 从零自学Hadoop(04):Linux准备下

    阅读目录 序 搭建环境 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 我们已经准 ...

  2. 从零自学Hadoop系列索引

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 从零自学Hadoop(01):认识Hadoop ...

  3. 从零自学Hadoop(24):Impala相关操作上

    阅读目录 序 数据库相关 表相关 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...

  4. 从零自学Hadoop(20):HBase数据模型相关操作上

    阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...

  5. 从零自学Hadoop(21):HBase数据模型相关操作下

    阅读目录 序 变量 数据模型操作 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...

  6. 从零自学Hadoop(23):Impala介绍及安装

    阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇, ...

  7. 从零自学Hadoop(15):Hive表操作

    阅读目录 序 创建表 查看表 修改表 删除表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceL ...

  8. 从零自学Hadoop(22):HBase协处理器

    阅读目录 序 介绍 Observer操作 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...

  9. 从零自学Hadoop(19):HBase介绍及安装

    阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇, ...

随机推荐

  1. Junit4学习(五)Junit4测试套件

    一,背景 1,随着开发规模的深入和扩大,项目或越来越大,相应的我们的测试类也会越来越多:那么就带来一个问题,假如测试类很多,就需要多次运行,造成测试的成本增加:此时就可以使用junit批量运行测试类的 ...

  2. 【翻译】基于web创建逼真的3D图形 | CSS技巧

    个人翻译小站:http://www.zcfy.cc/article/creating-photorealistic-3d-graphics-on-the-web-css-tricks-4039.htm ...

  3. 读取指定excel,修改并某个值并另存到指定路径

    HSSFWorkBook是解析excel2007以前的版本(xls)之后的版本使用XSSFWrokBook(xlsx) 附:处理excel2007之后的版本代码: package gbyp.autoQ ...

  4. HashMap、HashTable、ArrayList、LinkedList、Vector区别

    HashTable和HashMap区别 ①继承不同. public class Hashtable extends Dictionary implements Map public class Has ...

  5. python之time模块

    from time import * ''' class struct_time(tuple): pass ''' tuple1 = (, , , , , , , , ) s = struct_tim ...

  6. JavaScript 基本语法结构

    1 变量 JavaScript的变量是弱类型的,就是所有的对象都是使用var 来进行声明 2 变量的命名规则 1.由字母.数字.下划线组成,区分大小写 2.以字母开头 3.变量名不能有空格 4.不能使 ...

  7. 【DDD】领域驱动设计实践 —— Application层实现

    本文是DDD框架实现讲解的第二篇,主要介绍了DDD的Application层的实现,详细讲解了service.assemble的职责和实现.文末附有github地址.相比于<领域驱动设计> ...

  8. 《MATLAB从入门到放弃》二维曲线和图形绘制基础(一): 什么是图形对象和句柄 ?

    图形对象 一个图形包含了不同的对象 图形包括 核心对象和绘制对象 .  核心对象 线条对象 : line 文本对象 : text 矩形对象 : rectangle 补丁对象 : patch 图像对象  ...

  9. Thread.Join 和 Task.Wait 方法

    这两个方法 可以说是类似的功能,都是对当前任务进行等待阻塞,执行完毕后再进行后续处理 talk is cheap, show you code,下面一个是异步执行,一个是加了阻塞,可以对比不同执行结果 ...

  10. H5页面解决IOS进入不自动播放问题(微信内)

    废话少说,直接上代码. 主要还是调用微信的jdk做兼容处理.,安卓可自动播放. ($(function(){ $(function(){ /* ** 复选框*/ $('.ul-radio').on(' ...