1. 程式人生 > >Impala 代替 hive COLLECT_SET函式的方式

Impala 代替 hive COLLECT_SET函式的方式

背景
之前是在HIVE上開發,GROUP BY 某些欄位後,其他欄位使用COLLECT_SET(ITEM)[0]的方式取相同欄位值中的一個,而在Impala上沒有COLLECT_SET函式。

方案
使用GROUP_CONCAT函式+SPLIT_PART函式替代

## IMPALA
SELECT SCORE,SPLIT_PART(GROUP_CONCAT(NAME),',',1) FROM TEST.STUDENT GROUP BY SCORE 
## HIVE
SELECT SCORE,COLLECT_SET(NAME)[0] FROM TEST.STUDENT GROUP BY SCORE

相關推薦

Impala 代替 hive COLLECT_SET函式方式

背景 之前是在HIVE上開發,GROUP BY 某些欄位後,其他欄位使用COLLECT_SET(ITEM)[0]的方式取相同欄位值中的一個,而在Impala上沒有COLLECT_SET函式。 方案 使用

用spark實現hive中的collect_set函式的功能

import org.apache.spark.SparkContext._ import org.apache.spark._ /** * Created by xiaojun on 2015/3/9. */ object SparkDemo2 { def ma

Hive日期函式總結

--1.時間戳函式 --日期轉時間戳:從1970-01-01 00:00:00 UTC到指定時間的秒數 select unix_timestamp(); --獲得當前時區的UNIX時間戳 select unix_timestamp('2017-09-15 14:23:00');  sele

2018-09-27#hive寫資料方式總結

hive 表寫入資料的方式 少量資料 insert into create table dw.dim_area_code ( country_name string comment "國家名稱", country_code string comment "國家程式碼", province_na

Hive(12):Hive分析函式

一、實現功能 對於分組之後的資料進行處理。 官網:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+WindowingAndAnalytics 二、例項 1.測試表 emp.empno em

Hive UDF函式編寫流程詳解

參考官網: https://cwiki.apache.org/confluence/display/Hive/HivePlugins     新增hive UDF函式 https://cwiki.apache.org/confluence/displ

Impala整合hive(填了各種坑之後總結出來的文件)

        1 環境準備 1.1 伺服器配置 1.2 環境配置 1.3 Impala安裝包下載(不能使用yum命令的情況下) 1.4 Impala安裝包下載(可以使用yum命令的情況下) 2 下載安裝依賴包(必須安裝

Hive 開窗函式

什麼時候用開窗函式? 開窗函式常結合聚合函式使用,一般來講聚合後的行數要少於聚合前的行數,但是有時我們既想顯示聚集前的資料, 又要顯示聚集後的資料,這時我們便引入了視窗函式。 視窗函式的語法 UDAF() over (PARTITION By col1,col2 order by c

Hive常見函式

1.檢視函式 檢視hive所有的函式 show functions; 檢視函式資訊 desc function 函式名; 檢視函式詳細資訊 desc function extended 函式名; 2.時間函式 顯示當前日期 示例

Hive常用函式和分桶表

Hive常用函式和分桶表 一、字串常用函式 二、分桶表   分桶操作是更細粒度的分配方式,一張表可以同時分割槽和分桶,分桶的原理是根據指定的列的計算hash值模餘分桶數量後將資料分開存放。   Hive的分桶實際上就是Hadoop的分割槽,有幾個桶,就用幾個reduce

Hive的連線方式。。。。。

1、直接在安裝完hive之後,進入到bin目錄下面./hive啟動就ok了: [[email protected] bin]$ ./hive Logging initialized using configuration in file:/home/hadoop/apps/apac

函式方式檔案程式設計

1.核心理論 庫函式:基於c函式庫的檔案程式設計是獨立於具體的作業系統平臺的,不管是在windows下還是linux下,都是使用這些函式,使用庫函式進行程式設計可提高程式的可移植性。 流:對於標準的c函式庫,它們的操作都是圍繞流來進行的。流是一個抽象的概念,當程式需要讀取資料的時候,就會開啟

ImpalaHive的優缺點和異同

定位: HIVE:長時間的批處理查詢分析 impala:實時互動式SQL查詢   impala優缺點優點: 1. 生成執行計劃樹,不用多次啟動job造成多餘開銷,並且減少中間結果資料寫入磁碟,執行速度快 2. 不佔用yarn的資源 3. 缺點: 1. 不支援Date型別 2. 與HIVE資料

hive函式使用

hive函式使用 小技巧:測試函式的用法,可以專門準備一個專門的dual表 create table dual(x string); insert into table dual values(''); 其實:直接用常量來測試函式即可 select substr(

hive視窗函式之sum,avg,min,max

在hive的統計分析中,其實視窗函式還是比較常用也重要的。 今天整理下hive中視窗函式的sum,avg,min,max,後續再整理其他常用的。 首先模擬建立一張通話記錄表:欄位有主叫號碼,主叫時間,通話時長 > create table `call_test` ( `

ImpalaHive整合Sentry、Kerberos認證

關於 Kerberos 的安裝和 HDFS 配置 kerberos 認證,請參考 HDFS配置kerberos認證。 關於 Kerberos 的安裝和 YARN 配置 kerberos 認證,請參考 YARN配置kerberos認證。 關於 Kerberos 的安裝和 Hive 配置

Hive常用函式大全(二)(視窗函式、分析函式、增強group)

視窗函式與分析函式 應用場景: (1)用於分割槽排序 (2)動態Group By (3)Top N (4)累計計算 (5)層次查詢 視窗函式 FIRST_VALUE:取分組內排序後,截止到當前行,第一個值 LAST_VALUE: 取分組內排序後,截止到當前行,最

hive指令碼執行方式

hive指令碼的執行方式 hive指令碼的執行方式大致有三種: hive控制檯執行; hive -e "SQL"執行; hive -f SQL檔案執行; 參考hive用法: usage: hive -d,--define <key=value>

impala重新整理hive資料shell指令碼

#!/bin/bash   source job.properties   impalaHost=$1 databaseName=$2 tableName=$3   echo "[INFO]: Hive Database :------> ${databaseName

python32 用來儲存名片函式方式

# 用來儲存名片 card_infors = []     def print_menu():     """完成列印功能選單"""     print("=" * 50)  &nbs