1. 程式人生 > >Impala 2、Impala Shell 和 Impala SQL

Impala 2、Impala Shell 和 Impala SQL

1、Impala 外部 Shell

  Impala外部Shell 就是不進入Impala內部,直接執行的ImpalaShell 例如通過外部Shell檢視Impala幫助可以使用: $ impala-shell -h 這樣就可以查看了;

  再例如顯示一個SQL語句的執行計劃: $ impala-shell -p select count(*) from t_stu

  下面是Impala的外部Shell的一些引數:

  • -h (--help) 幫助
  • -v (--version) 查詢版本資訊
  • -V (--verbose) 啟用詳細輸出
  • --quiet 關閉詳細輸出
  • -p 顯示執行計劃
  • -i hostname (--impalad=hostname) 指定連線主機格式hostname:port 預設埠21000
  • -r(--refresh_after_connect)重新整理所有元資料
  • -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) 結果輸出到指定檔案
  • -c 查詢執行失敗時繼續執行
  • -k (--kerberos) 使用kerberos安全加密方式執行impala-shell
  • -l 啟用LDAP認證
  • -u 啟用LDAP時,指定使用者名稱

2、Impala內部Shell

  使用命令 $ impala-sehll  可以進入impala,在這裡可以像Hive一樣正常使用SQL,而且還有一些內部的impala命令:

  • help
  • connect <hostname:port> 連線主機,預設埠21000
  • refresh <tablename> 增量重新整理元資料庫
  • invalidate metadata 全量重新整理元資料庫
  • explain <sql> 顯示查詢執行計劃、步驟資訊
  • set explain_level 設定顯示級別(0,1,2,3)
  • shell <shell> 不退出impala-shell執行Linux命令
  • profile (查詢完成後執行) 查詢最近一次查詢的底層資訊

  例:檢視幫助可以直接使用: help ,要重新整理一個表的增量元資料可以使用 refresh t_stu;

3、Impala 的監護管理

  可以通過下面的連結來訪問Impala的監護管理頁面:

  • 檢視StateStore
    – http://node1:25020/
  • 檢視Catalog
    – http://node1:25010/

4、Impala  儲存&&分割槽

  下面是Impala對檔案的格式及壓縮型別的支援

  

  

  • 新增分割槽方式
    – 1、partitioned by 建立表時,新增該欄位指定分割槽列表
    – 2、使用alter table 進行分割槽的新增和刪除操作

1234create table t_person(id intname string, age int) partitioned by (type string);alter table t_person add partition (sex=‘man');alter table t_person drop partition (sex=‘man');alter table t_person drop partition (sex=‘man‘,type=‘boss’);

  • 分割槽內新增資料
    

12insert into t_person partition (type='boss'values (1,’zhangsan’,18),(2,’lisi’,23)insert into t_person partition (type='coder'values(3,wangwu’,22),(4,’zhaoliu’,28),(5,’tianqi’,24)

  • 查詢指定分割槽資料

1select id,name from t_person where type=‘coder

5、Impala SQL VS HiveQL

  下面是Impala對基礎資料型別和擴充套件資料型別的支援

  

  • 此外,Impala不支援HiveQL以下特性:
    – 可擴充套件機制,例如:TRANSFORM、自定義檔案格式、自定義SerDes
    – XML、JSON函式
    – 某些聚合函式:
  • covar_pop, covar_samp, corr, percentile, percentile_approx,histogram_numeric, collect_set
  • Impala僅支援:AVG,COUNT,MAX,MIN,SUM
    – 多Distinct查詢
    – HDF、UDAF
    – 以下語句:
    ANALYZE TABLE (Impala:COMPUTE STATS)、DESCRIBE COLUMN、
    DESCRIBE DATABASE、EXPORT TABLE、IMPORT TABLE、SHOW
    TABLE EXTENDED、SHOW INDEXES、SHOW COLUMNS

6、Impala SQL

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364--建立資料庫create database db1;use db1;-- 刪除資料庫use default;drop database db1;--建立表(內部表)-- 預設方式建立表:create table t_person1(id int,name string)--指定儲存方式:create table t_person2(id int,name string)row format delimitedfields terminated by ‘\0’ (impala1.3.1版本以上支援‘\0’ )stored as textfile;--其他方式建立內部表--使用現有表結構:create table tab_3 like tab_1;--指定文字表字段分隔符:alter table tab_3 set serdeproperties(‘serialization.format’=‘,’,’field.delim’=‘,’);--插入資料-- 直接插入值方式:insert into t_person values (1,hex(‘hello world’));--從其他表插入資料:insert (overwrite) into tab_3 select * form tab_2 ;--批量匯入檔案方式方式:load data 

相關推薦

Impala 2Impala Shell Impala SQL

1、Impala 外部 Shell  Impala外部Shell 就是不進入Impala內部,直接執行的ImpalaShell 例如通過外部Shell檢視Impala幫助可以使用: $ impala-shell -h 這樣就可以查看了;  再例如顯示一個SQL語句的執行計劃:

如何讓你的服務器對TLS1.21.11.0全支持

system ntc 方法 要求 request toc window 分享 1.2 微信小程序的wx.request要求HTTPS 服務器的 TLS 版本必須支持1.2及以下版本,一般就是1.0、1.1、1.2要同時支持這三個版本,一個也不能少,要不然就會出現wx.req

在Yarn上執行spark-shellspark-sql命令列

spark-shell On Yarn 如果你已經有一個正常執行的Hadoop Yarn環境,那麼只需要下載相應版本的Spark,解壓之後做為Spark客戶端即可。 需要配置Yarn的配置檔案目錄,export HADOOP_CONF_DIR=/etc/hadoop/conf &n

SparkSQL(二)spark-shellspark-sql以及thriftserver&beeline訪問hive表

一、spark-shell 1.把hive的hive-site.xml複製到spark的conf下面 2.開啟spark-shell bin/spark-shell --master local[2] --jars /opt/datas/mysql-connector-

CentOS7下的Django2整合部署二:Nginx1.14.2Mysql5.7Python3.7的安裝

nginx   安裝依賴 yum install -y gcc pcre-devel zlib zlib-devel   預設安裝 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-

CentOS7下的Django2集成部署二:Nginx1.14.2Mysql5.7Python3.7的安裝

develop custom hosts 設置 mbo nvi 平滑 整合 mod nginx   安裝依賴 yum install -y gcc pcre-devel zlib zlib-devel   默認安裝 rpm -Uvh http://nginx.or

Apache Ignite 學習筆記(一): Ignite介紹部署安裝REST/SQL客戶端使用

Apache Ignite 介紹 Ignite是什麼呢?先引用一段官網關於Ignite的描述: Ignite is memory-centric distributed database, caching, and processing platform for transactional, analyt

互動式SHELL非互動式SHELL登入SHELL非登入SHELL的區別

互動式shell和非互動式shell、登入shell和非登入shell的區別。 首先,這是兩個不同的維度來劃分的,一個是是否互動式,另一個是是否登入。 互動式shell和非互動式shell(interactive shell and non-interactive s

2redis概述讀寫效能

1、什麼是 redis ? redis是一個key-value儲存系統。和 Memcached 類似,它支援儲存的 value 型別相對更多,包括string(字串)、list(連結串列)、set(集合)、zset(sorted set --有序集合)和 hash(雜湊型別)。這些資料型別都

深入淺出理解互動式shell非互動式shell登入shell非登入shell的區別

首先我們需要把bash理解為一種模式,我們不如把這種模式想象成類似於洋蔥一樣的結構,我們可以一層一層剝開,也就是說我們可以一層一層的進入子shell。就好比我們進入一棟樓,開啟一個房間是一個環境,在當前這個房間我們又看到了一個門,當我們開啟這個門的時候,我們就已經進入了新的

雜貨:互動式shell非互動式shell登入shell非登入shell的區別

[[email protected] ~]# man bash -i If the -i option is present, the shell is interactive. –noprofile Do not re

股票中買12買3賣12賣3

        買方價格按照最高到最低排列,即買一最高,價格依次低一檔往下排列   賣方則相反,即賣一最低,價格一次高一檔往上排列   如果你看好股票,你想馬上買入成交,你就用賣盤上的價格發出指令,這樣系統會給你最優價格成交,就是賣方中價格最低的賣給你,這個交易是你主動買的

每天兩道oracle筆試題+第一天:1解釋冷備份熱備份的不同點及各自的優點?2解釋歸檔非歸檔模式之間的不同它們各自的優缺點?

每天兩道oracle筆試題系列 第一天 不積跬步無以至千里 問題: 1、解釋冷備份和熱備份的不同點及各自的優點? 2、解釋歸檔和非歸檔模式之間的不同和它們各自的優缺點? ***************

TP5課程:2目錄結構MVC模式

9、需要了解的目錄結構: |————application 應用目錄,是整個網站的核心 |————index(前臺) |———— controller 控制器 |———— model 資料模型

java加密解密研究2Bouncy CastleCommons Codec加密元件

在java的加密解密的API中,幾乎各種常用的加密演算法都能找到對應的實現,但還是難免會有遺憾:受出口限制,金鑰長度上不能滿足要求;部分演算法未能支援,如MD4、SHA-224等演算法;API使用起來還不是很方便;一些常用的進位制轉換輔助工具未能提供,如Base64轉換、十

java學習2軟體包訪問許可權

1、什麼是java的軟體包 簡單的說就是 把類放在不同的資料夾下面。 package +包名;     一個類的全名 應該是 包名 + “."+類名 1)、包名 一般所有字母 都為小寫 2)、包名一般情況下,是你域名的倒過來寫 2、Java當中的訪問許可權       1

上海Cloudera 數據分析師培訓:PigHive Impala

如果 cloudera 未來 群集 linux 腳本編程語言 信心 腳本編程 知識 Cloudera 數據分析師培訓:Pig、Hive和 Impala 通過 Cloudera 公司的 Apache Hadoop 培訓將您的知識提升到一個新的水平。 Cloudera 大學提供

八(2)管道符作業控制shell變量環境變量配置文件

shell變量管道符、作業控制管道符 | :把前面命令的的輸出交給後面命令的輸入暫停任務:ctrl+ z (臨時暫停,仍到後臺 ,調回前臺 fg)jobs 可以把暫停的任務列出來。fg +id號就能把相應暫停任務調回前臺。 fg 2bg 把任務放到後臺sleep 1000 暫停1000秒sleep 100

zeppelin中連線hiveimpala

連線Hive 新建interpreter  default.driver = org.apache.hive.jdbc.HiveDriver default.url = jdbc:hive2://hostname:10000 default.user = zeppelin

Impala中的invalidate metadatarefresh

來源: http://blog.csdn.net/yu616568/article/details/72780346 前言 Impala採用了比較奇葩的多個impalad同時提供服務的方式,並且它會由catalogd快取全部元資料,再通過statestored完成每一次的