Impala-shell 导入导出数据

Impala-shell 导入导出数据

参数说明:

• -q query (--query=query) 从命令行执行查询,不进入impala-shell

• -d default_db (--database=default_db) 指定数据库

• -B(--delimited)去格式化输出

• --output_delimiter=character 指定分隔符

• --print_header 打印列名

• -f query_file(--query_file=query_file)执行查询文件,以分号分隔

• -o filename (--output_file filename) 结果输出到指定文件

导出

导出结果到csv

impala-shell -q "select id,price,name,dtime from config.price_test limit 3" -B --output_delimiter="," --print_header -o /var/testimpalaout.csv

导出结果到excel

impala-shell -q "select id,price,name,dtime from config.price_test limit 3" -B --output_delimiter="\t" --print_header -o /var/testimpalaout.xlsx

导入

hadoop创建文件夹

hadoop fs -mkdir /tmp/price_txternal

本地文件上传hadoop

hadoop fs -put /var/testimpalaout.csv /tmp/price_txternal

创建临时表(无分区,普通文本表)

impala-shell ,进入impala-shell数据库,(分隔符,自定义)
CREATE TABLE config.price_test_ls (                                         
  id INT,                                                               
  price DOUBLE,                                                         
  name VARCHAR(200),                                                    
  dtime TIMESTAMP                                                       
) 
row format delimited fields terminated by ','
location '/tmp/price_txternal';

导入分区表

INSERT INTO config.price_test PARTITION(DAY = 20170701, MINUTE = cast('0000' as char(4)) ) 
SELECT 
  id,
  price,
  NAME,
  dtime 
FROM
  config.price_test_ls 

删除临时表

drop table config.price_test_ls;
posted @ 2020-06-13 19:31  莫测Jack  阅读(2185)  评论(0编辑  收藏  举报