impala数据导入汇总

2024-02-21 19:08
文章标签 数据 汇总 导入 impala

本文主要是介绍impala数据导入汇总,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. put/distcp
hdfs dfs -put 从本地上传到hdfs

2.load data
[cdh2:21000] > select count(*) from tab1;
Query: select count(*) from tab1
+----------+
| count(*) |
+----------+
| 3279912  |

-----创建空表
[cdh2:21000] > create table tab2 like tab1;
Query: create table tab2 like tab1

Fetched 0 row(s) in 0.13s
[cdh2:21000] > 
[cdh2:21000] > select count(*) from tab2;
Query: select count(*) from tab2
+----------+
| count(*) |
+----------+
| 0        |
+----------+
Fetched 1 row(s) in 5.31s

----load data(将目录tab1下的文件全部move到tab2下)
[cdh2:21000] > load data inpath '/user/hive/warehouse/db1.db/tab1' into table tab2;
Query: load data inpath '/user/hive/warehouse/db1.db/tab1' into table tab2
+----------------------------------------------------------+
| summary                                                  |
+----------------------------------------------------------+
| Loaded 1 file(s). Total files in destination location: 1 |
+----------------------------------------------------------+
Fetched 1 row(s) in 0.68s

[root@cdh0 data]# hdfs dfs -ls /user/hive/warehouse/db1.db/tab1
Found 1 items
-rw-r--r--   3 root hive  742707621 2015-01-23 10:35 /user/hive/warehouse/db1.db/tab1/xaa.csv
[root@cdh0 data]# 
[root@cdh0 data]# 
[root@cdh0 data]# hdfs dfs -ls /user/hive/warehouse/db1.db/tab2
[root@cdh0 data]# 
[root@cdh0 data]# 
[root@cdh0 data]# 
[root@cdh0 data]# hdfs dfs -ls /user/hive/warehouse/db1.db/tab1
[root@cdh0 data]# 
[root@cdh0 data]# hdfs dfs -ls /user/hive/warehouse/db1.db/tab2
Found 1 items
-rw-r--r--   3 root hive  742707621 2015-01-23 10:35 /user/hive/warehouse/db1.db/tab2/xaa.csv
[root@cdh0 data]# 

----load之后,原表需要refresh,否则会报错
[cdh2:21000] > select count(*) from tab1;
Query: select count(*) from tab1
WARNINGS: Failed to open HDFS file hdfs://cdh0:8020/user/hive/warehouse/db1.db/tab1/xaa.csv
Error(2):

[cdh2:21000] > refresh tab1;
Query: refresh tab1

Fetched 0 row(s) in 0.56s
[cdh2:21000] > 
[cdh2:21000] > select count(*) from tab1;
Query: select count(*) from tab1
+----------+
| count(*) |
+----------+
| 0        |
+----------+
Fetched 1 row(s) in 0.02s

3.ctas

[cdh2:21000] > create table tab3 STORED AS PARQUET as select * from tab2;
Query: create table tab3 STORED AS PARQUET as select * from tab2
+-------------------------+
| summary                 |
+-------------------------+
| Inserted 3279912 row(s) |
+-------------------------+
Fetched 1 row(s) in 4.85s
[cdh2:21000] > 
[cdh2:21000] > select count(*) from tab3;
Query: select count(*) from tab3
+----------+
| count(*) |
+----------+
| 3279912  |
+----------+
Fetched 1 row(s) in 1.07s

以下遇到个问题和官当说法不同 where 1=0 没有起作用,以下是官方文档
-- Create new table and copy all data.
CREATE TABLE clone_of_t1 AS SELECT * FROM t1;
-- Same idea as CREATE TABLE LIKE, don't copy any data.
CREATE TABLE empty_clone_of_t1 AS SELECT * FROM t1 WHERE 1=0;
[cdh2:21000] > CREATE TABLE empty_clone_of_t1 AS SELECT * FROM tab1 WHERE  1=0 ;
Query: create TABLE empty_clone_of_t1 AS SELECT * FROM tab1 WHERE 1=0

+-------------------------+
| summary                 |
+-------------------------+
| Inserted 5653782 row(s) |
+-------------------------+
Fetched 1 row(s) in 30.71s

4.insert方式
最简单,举个例子即可,不过insert分为into和overwrite,区别看眼就明白了

[cdh2:21000] > insert into tab1 select * from tab3;
Query: insert into tab1 select * from tab3
Inserted 3279912 row(s) in 17.11s

5.同一张表下支持不能格式的文件同时存放
[root@cdh0 data]# hdfs dfs -ls /user/hive/warehouse/db1.db/tab1
Found 4 items
-rw-r--r--   3 impala hive  291811534 2015-01-23 11:00 /user/hive/warehouse/db1.db/tab1/7a4d0328b98fcf78-8052e0dbd8c225b5_2104527952_data.0.
-rw-r--r--   3 impala hive  291745403 2015-01-23 11:00 /user/hive/warehouse/db1.db/tab1/7a4d0328b98fcf78-8052e0dbd8c225b6_2104527952_data.0.
drwxrwxrwt   - impala hive          0 2015-01-23 11:00 /user/hive/warehouse/db1.db/tab1/_impala_insert_staging
-rw-r--r--   3 root   hive  765975316 2015-01-23 16:08 /user/hive/warehouse/db1.db/tab1/xab.csv
[root@cdh0 data]# 
[root@cdh0 data]# 
[root@cdh0 data]# 

[root@cdh0 data]# hdfs dfs -ls /user/hive/warehouse/db1.db/tab3

Found 3 items
drwxrwxrwt   - impala hive          0 2015-01-23 10:46 /user/hive/warehouse/db1.db/tab3/_impala_insert_staging
-rw-r--r--   3 impala hive   38022642 2015-01-23 10:46 /user/hive/warehouse/db1.db/tab3/f54a22a6adc813d6-a20d99d7d04209a8_1342452609_data.0.parq
-rw-r--r--   3 impala hive   29315637 2015-01-23 10:46 /user/hive/warehouse/db1.db/tab3/f54a22a6adc813d6-a20d99d7d04209a9_639956434_data.0.parq


[cdh2:21000] > load data inpath '/user/hive/warehouse/db1.db/tab1/7a4d0328b98fcf78-8052e0dbd8c225b5_2104527952_data.0.' into table tab4_ymd partition (year=2014,month=07,day=20);
Query: load data inpath '/user/hive/warehouse/db1.db/tab1/7a4d0328b98fcf78-8052e0dbd8c225b5_2104527952_data.0.' into table tab4_ymd partition (year=2014,month=07,day=20)
+----------------------------------------------------------+
| summary                                                  |
+----------------------------------------------------------+
| Loaded 1 file(s). Total files in destination location: 4 |
+----------------------------------------------------------+
Fetched 1 row(s) in 0.62s
[cdh2:21000] > 
[cdh2:21000] > select count(*) from tab4_ymd;
Query: select count(*) from tab4_ymd
+----------+
| count(*) |
+----------+
| 1188650  |
+----------+
Fetched 1 row(s) in 1.32s
[cdh2:21000] > 
[cdh2:21000] > load data inpath '/user/hive/warehouse/db1.db/tab3/f54a22a6adc813d6-a20d99d7d04209a8_1342452609_data.0.parq' into table tab4_ymd partition (year=2014,month=07,day=20);
Query: load data inpath '/user/hive/warehouse/db1.db/tab3/f54a22a6adc813d6-a20d99d7d04209a8_1342452609_data.0.parq' into table tab4_ymd partition (year=2014,month=07,day=20)
+----------------------------------------------------------+
| summary                                                  |
+----------------------------------------------------------+
| Loaded 1 file(s). Total files in destination location: 5 |
+----------------------------------------------------------+
Fetched 1 row(s) in 0.70s
[cdh2:21000] > 
[cdh2:21000] > select count(*) from tab4_ymd;
Query: select count(*) from tab4_ymd
+----------+
| count(*) |
+----------+
| 1859533  |
+----------+
Fetched 1 row(s) in 1.30s
[cdh2:21000] > 

[root@cdh0 data]#  hdfs dfs -du /user/hive/warehouse/db1.db/tab4_ymd/year=2014/month=7/day=20
0          0          /user/hive/warehouse/db1.db/tab4_ymd/year=2014/month=7/day=20/5e4e369df4ce6b75-7a6ae25d88d749e_1626585205_data.0.
0          0          /user/hive/warehouse/db1.db/tab4_ymd/year=2014/month=7/day=20/5e4e369df4ce6b75-7a6ae25d88d749f_571246668_data.0.
0          0          /user/hive/warehouse/db1.db/tab4_ymd/year=2014/month=7/day=20/5e4e369df4ce6b75-7a6ae25d88d74a0_571246668_data.0.
291811534  875434602  /user/hive/warehouse/db1.db/tab4_ymd/year=2014/month=7/day=20/7a4d0328b98fcf78-8052e0dbd8c225b5_2104527952_data.0.
38022642   114067926  /user/hive/warehouse/db1.db/tab4_ymd/year=2014/month=7/day=20/f54a22a6adc813d6-a20d99d7d04209a8_1342452609_data.0.parq

注意:
1.如果分区没有,load data不能自动创建
[cdh2:21000] > load data inpath '/user/hive/warehouse/db1.db/tab2' into table tab4_ymd partition (year=2014,month=07,day=19); 
Query: load data inpath '/user/hive/warehouse/db1.db/tab2' into table tab4_ymd partition (year=2014,month=07,day=19)
ERROR: AnalysisException: Partition spec does not exist: (year=2014, month=7, day=19).
[cdh2:21000] > 

2.目录不能包含嵌套
[root@cdh0 data]# hdfs dfs -ls /user/hive/warehouse/db1.db/tab2/*
Found 1 items
-rw-r--r--   3 root hive  742707621 2015-01-23 11:43 /user/hive/warehouse/db1.db/tab2/test/xaa.csv
-rw-r--r--   3 root hive  742707621 2015-01-23 10:35 /user/hive/warehouse/db1.db/tab2/xaa.csv

[cdh2:21000] > load data inpath '/user/hive/warehouse/db1.db/tab2' into table tab4_ymd partition (year=2014,month=07,day=20);
Query: load data inpath '/user/hive/warehouse/db1.db/tab2' into table tab4_ymd partition (year=2014,month=07,day=20)
ERROR: AnalysisException: INPATH location 'hdfs://cdh0:8020/user/hive/warehouse/db1.db/tab2' cannot contain subdirectories.
[cdh2:21000] > 

这篇关于impala数据导入汇总的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/732772

相关文章

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr