日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【转】Impala导出查询结果到文件

發布時間:2025/7/14 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】Impala导出查询结果到文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【轉載出處】http://blog.csdn.net/jobschen/article/details/68942574

想用impala-shell 命令行中將查詢的結果導出到本地文件,想當然的以為impala 和 hive 一樣可以用 insert overwrite local directory ‘/home/test.txt’ select ……. 這樣的命令導出到本地,執行了一下,發現impala 不支持這個。

然后查了一下,發現impala-shell 可以像mysql 一樣的方式導出查詢結果到文件。在命令行里帶參數執行,例如:

impala-shell -q "select * from table limit 10" -B --output_delimiter="\t" -o testimpalaoutput.txt
  • 1

impala-shell 還有其他很多參數,可以impala-shell -h 查看,下面是別人翻譯的,copy過來供大家參考 :

選項

描述

-B or –delimited

導致使用分隔符分割的普通文本格式打印查詢結果。當為其他 Hadoop 組件生成數據時有用。對于避免整齊打印所有輸出的性能開銷有用,特別是使用查詢返回大量的結果集進行基準測試的時候。使用?–output_delimiter 選項指定分隔符。使用 -B 選項常用于保存所有查詢結果到文件里而不是打印到屏幕上。在?Impala 1.0.1 中添加

–print_header

是否打印列名。整齊打印時是默認啟用。同時使用 -B 選項時,在首行打印列名

-o?filename?or –output_file?filename

保存所有查詢結果到指定的文件。通常用于保存在命令行使用 -q 選項執行單個查詢時的查詢結果。對交互式會話同樣生效;此時你只會看到獲取了多少行數據,但看不到實際的數據集。當結合使用 -q 和 -o 選項時,會自動將錯誤信息輸出到 /dev/null(To suppress these incidental messages when combining the?-q?and?-o?options, redirect?stderr?to?/dev/null)。在 Impala 1.0.1 中添加

–output_delimiter=character

當使用 -B 選項以普通文件格式打印查詢結果時,用于指定字段之間的分隔符(Specifies the character to use as a delimiter between fields when query results are printed in plain format by the?-B?option)。默認是制表符 tab (‘\t’)。假如輸出結果中包含了分隔符,該列會被引起且/或轉義(?If an output value contains the delimiter character, that field is quoted and/or escaped)。在 Impala 1.0.1 中添加

-p or –show_profiles

對 shell 中執行的每一個查詢,顯示其查詢執行計劃 (與?EXPLAIN 語句輸出相同) 和發生低級故障(low-level breakdown)的執行步驟的更詳細的信息

-h or –help

顯示幫助信息

-i?hostname?or –impalad=hostname

指定連接運行 impalad 守護進程的主機。默認端口是 21000。你可以連接到集群中運行 impalad 的任意主機。假如你連接到 impalad 實例通過?–fe_port 標志使用了其他端口,則應當同時提供端口號,格式為 hostname:port

-q?query?or –query=query

從命令行中傳遞一個查詢或其他 shell 命令。執行完這一語句后 shell 會立即退出。限制為單條語句,可以是?SELECT,?CREATE TABLE,?SHOW TABLES, 或其他 impala-shell 認可的語句。因為無法傳遞 USE 語句再加上其他查詢,對于 default 數據庫之外的表,應在表名前加上數據庫標識符(或者使用 -f 選項傳遞一個包含 USE 語句和其他查詢的文件)

-f?query_file?or –query_file=query_file

傳遞一個文件中的 SQL 查詢。文件內容必須以分號分隔

-k or –kerberos

當連接到 impalad 時使用 Kerberos 認證。如果要連接的 impalad 實例不支持?Kerberos,將顯示一個錯誤

-s?kerberos_service_name?or –kerberos_service_name=name

Instructs?impala-shell?to authenticate to a particular?impalad?service principal. 如何沒有設置 kerberos_service_name?,默認使用 impala。如何啟用了本選項,而試圖建立不支持 Kerberos 的連接時,返回一個錯誤(If this option is used in conjunction with a connection in which Kerberos is not supported, errors are returned)

-V or –verbose

啟用詳細輸出

–quiet

關閉詳細輸出

-v or –version

顯示版本信息

-c

查詢執行失敗時繼續執行

-r or –refresh_after_connect

建立連接后刷新 Impala 元數據,與建立連接后執行?REFRESH?語句效果相同

-d?default_db?or –database=default_db

指定啟動后使用的數據庫,與建立連接后使用?USE?語句選擇數據庫作用相同,如果沒有指定,那么使用 default 數據庫

-l啟用 LDAP 認證
-u當使用 -l 選項啟用 LDAP 認證時,提供用戶名(使用短用戶名,而不是完整的 LDAP 專有名稱(distinguished name)) ,shell 會提示輸入密碼

參數內容引用自:
https://my.oschina.net/weiqingbin/blog/190929

?

更多精彩內容,歡迎掃碼關注以下微信公眾號:大數據技術宅。大數據、AI從關注開始

轉載于:https://www.cnblogs.com/followees/p/7803094.html

總結

以上是生活随笔為你收集整理的【转】Impala导出查询结果到文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。