天天看點

Impala新特性1.4.01.3.11.3.01.2.41.2.31.2.21.2.1

本文主要整理一下 impala 每個版本的新特性,友善了解 impala 做了哪些改進、修複了哪些 bug。

不得不說的事情:

1.3.1 用于 cdh4

1.4.0 用于 cdh5

cdh5 中,impala 可以使用 hdfs 緩存特性加快頻繁通路的資料的速度,減少 cpu 使用率。當資料緩存到 hdfs cache 中時,impala 可以直接從緩存中讀取資料而不需要讀磁盤并且減少額外的記憶體拷貝。

<a href="http://www.cloudera.com/content/cloudera-content/cloudera-docs/cdh5/latest/cdh5-installation-guide/cdh5ig_hdfs_caching.html" target="_blank">centralized cache management in hdfs</a>

增加以下内建函數:

<code>add_months()</code>

<code>max_int()</code>、<code>min_smallint()</code>等,用于判斷數組是否超過最大值和最小值。

<code>is_inf()</code> 和 <code>is_nan()</code>,用于判斷是否為數值。

<code>compute stats</code> 語句性能改進:

<code>ndv</code> 函數通過生成本地代碼加快速度

impala-shell 支援 utf-8 字元的輸入和輸出,可以通過參數 <code>--strict_unicode</code> 控制是否忽略不合法的 unicode 字元。

該版本主要是 bug 修複,可以在 cdh 4 和 cdh 5 中使用。

<a href="http://www.cloudera.com/content/cloudera-content/cloudera-docs/impala/latest/installing-and-using-impala/ciiu_admission.html#admission_control" target="_blank">admission control and query queuing</a>

<code>unix_timestamp</code> 、<code>from_unixtime</code> 和 <code>interval</code>

該版本用于 cdh4,主要針對 1.2.3 做了一些 bug 修複。

增加 <code>invalidate metadata table_name</code> 文法重新整理建立的一個表

添加 catalogd 啟動參數:

<code>--load_catalog_in_background</code>,是否背景運作

<code>--num_metadata_loading_threads</code>,并行加載線程

impala 1.2.3 works with cdh 4 and with cdh 5 beta 2. the resource management feature requires cdh 5 beta.
impala 1.2.2 works with cdh 4. its feature set is a superset of features in the impala 1.2.0 beta, with the exception of resource management, which relies on cdh 5.

<code>compute stats</code>

ldap 支援

<code>insert</code> 語句可以添加 <code>shuffle</code> 或者 <code>noshuffle</code>,主要是用在插入資料到 parquet 表的分區的時候。

添加 <code>cast()</code> 用于類型轉換

支援 <code>stored as parquet</code> 語句。

添加 <code>show table stats table_name</code> 和 <code>show column stats table_name</code> 文法

添加 <code>create table as select</code> 文法

支援 <code>offset</code> 語句,用于分頁查詢

<code>order by</code> 語句中添加 <code>nulls first</code> 和 <code>nulls last</code> 文法支援

添加 <code>ndv()</code> 函數來計算 <code>count(distinct col)</code>

<code>limit</code> 語句接受數值表達式作為參數

<code>show create table</code>

添加 <code>create table ... as select</code> 文法

<code>explain</code>

<code>limit</code> 語句支援算術表達式