初識Impala 快速入門

2021-10-14 10:13:14 字數 2990 閱讀 5206

​ impala 是 cloudera 提供的一款高效率的 sql 查詢工具,提供實時的查詢效果,官方測試效能比 hive 快 10 到 100 倍,其 sql 查詢比 sparksql 還要更加快速, 號稱是當前大資料領域最快的查詢 sql 工具。

​ impala 是參照谷歌的新三篇**(caffeine–網路搜尋引擎、 pregel–分布式圖計算、 dremel–互動式分析工具)當中的 dremel 實現而來,其中舊三篇**分別是(bigtable, gfs, mapreduce)分別對應我們即將學的 hbase 和已經學過的 hdfs 以及 mapreduce。

​ impala 是基於 hive 並使用記憶體進行計算,兼顧資料倉儲,具有實時,批處理,多併發等優點。

impala shell 外部命令

指不需要進入到 impala-shell 互動命令行當中即可執行的命令引數。

在啟動 impalashell 時設定,用於修改命令執行環境。

impala-shell -h  可以幫助我們檢視幫助手冊

impala-shell -r 重新整理 impala 元資料, 與建立連線後執行 refresh 語句

效果相同

impala-shell -f 執行指的的 sql 查詢檔案。

impala-shell -i 指定連線執行 impalad 守護程序的主機。預設埠是

21000。可以連線到集群中執行 impalad 的任意主機。

impala-shell -o 儲存執行結果到檔案當中去

impala shell 內部命令

指進入 impala-shell 命令列之後可以執行的語法

connect hostname  連線到指定的機器 impalad 上去執行。

refresh dbname.tablename 增量重新整理,重新整理某一張表的元資料,主要用於重新整理 hive 當中資料表裡面的資料改變的情況。

invalidate metadata 全量重新整理,效能消耗較大,主要用於 hive 當中新建資料庫或者資料庫表的時候來進行重新整理。

quit/exit 從 impala shell 中彈出

explain 用於檢視 sql 語句的執行計畫

explain 的值可以設定成 0,1,2,3 等幾個值,其中 3 級別是最高的,可以列印出最全的資訊

set explain_level=3;

profile 命令執行 sql 語句之後執行,可以

列印出更加詳細的執行步驟,主要用於查詢結果的檢視,集群的調優等。

資料庫建立

create database if not exists database_name;

預設就會在 hive 的數倉路徑下建立新的資料庫名資料夾 :

/user/hive/warehouse/ittest.db

案例:

create external table t3

(id int

, name string ,

age int

)row format delimited fields

terminated

by'\t' location

'/input/impala/external'

刪除資料庫

drop database dbname 語句用於從 impala 中刪除資料庫。

drop database sample cascade;

級聯刪除, impala 會在刪除指定資料庫中的表之前刪除它。

表特定語句

create

table

ifnot

exists database_name.table_name (

column1 data_type,

column2 data_type,

column3 data_type,

………columnn data_type

);

insert 語句

into 和 overwrite。 into 用於插入新記錄資料, overwrite 用於覆蓋已有的記錄。

insert

into table_name (column1, column2, column3,..

.columnn)

values

(value1, value2, value3,..

.valuen)

;insert

into table_name values

(value1, value2, value2)

;

select 語句

impala select 語句用於從資料庫中的乙個或多個表中提取資料

describe 語句

impala 中的 describe 語句用於提供表的描述。

desc formatted table_name 查詢表元資料資訊語句。

alter table

表重新命名:

alter table [old_db_name.]old_table_name rename to

[new_db_name.]new_table_name

向表中新增列:

alter table name add columns (col_spec[, col_spec …])

從表中刪除列:

alter table name drop [column] column_name

更改列的名稱和型別:

alter table name change column_name new_name new_type

delete,truncate table

drop table 語句用於刪除 impala 中的現有表。此語句還會刪除內部表

的底層 hdfs 檔案。

truncate table 語句用於從現有表中刪除所有記錄。 保留表結構。

Impala快速入門

一.簡介 cloudera公司推出,提供對hdfs hbase資料的高效能 低延遲的互動式sql查詢功能。基於hive使用記憶體計算,兼顧資料倉儲,具有實時 批處理 多併發的優點。是cdh平台首選的pb級大資料實時查詢分析引擎。二.優點 1.基於記憶體計算,能夠對pb級別資料進行互動式實時查詢 分析...

初識layer 快速入門

如果,你初識layer,你對她不知所措,你甚至不知如何繫結事件 那或許你應該用秒做單位,去認識她。開始了解 親愛的,你不必去管那些檔案是幹嘛的,你只需要認準乙個檔案 layer.js 沒錯,當你試圖在頁面呈現layer的時候,你應該這樣去做 test1 小小提示層 你必須先引入jquery1.8或以...

智慧型計算快速入門之初識

智慧型計算,也稱為計算智慧型,包括遺傳演算法 模擬退火演算法 禁忌搜尋演算法 進化演算法 啟發式演算法 蟻群演算法 人工魚群演算法,粒子群演算法 混合智慧型演算法 免疫演算法 人工智慧 神經網路 機器學習 生物計算 dna計算 量子計算 智慧型計算與優化 模糊邏輯 模式識別 知識發現 資料探勘等。所...