国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Hive多行轉(zhuǎn)多列,多列轉(zhuǎn)多行

這篇具有很好參考價值的文章主要介紹了Hive多行轉(zhuǎn)多列,多列轉(zhuǎn)多行。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

hive中的行列轉(zhuǎn)換包含單行、多行、單列、多列,所以一共有四種組和轉(zhuǎn)換結(jié)果。

一、多行轉(zhuǎn)多列

原始數(shù)據(jù)表
hive 多列轉(zhuǎn)多行,hive,hive,hadoop,數(shù)據(jù)倉庫
目標(biāo)結(jié)果表
hive 多列轉(zhuǎn)多行,hive,hive,hadoop,數(shù)據(jù)倉庫
分析:目標(biāo)表中的a和b是用分組形成,所以groupby字段選用原始表中col1,c、d、e是原始表中的行值,在目標(biāo)表中成了列名,目標(biāo)表中可以采用as做列名自定義,當(dāng)原始表中的某一字段值等于某一特定值時,人為定義為結(jié)果表中的列名。

SQL實現(xiàn)

select
  col1 as col1,
  max(case col2 when 'c' then col3 else 0 end) as c,//當(dāng)原始表中col2的字段為C時,取col3中的值,否則取0,然后取最大值,前提是原始表中沒有比0更小的數(shù),如果原始表中有比自定義的0值更小的數(shù),else不能采用0,else的值要為原始表中最小數(shù)或比最小數(shù)還小。
  max(case col2 when 'd' then col3 else 0 end) as d,
  max(case col2 when 'e' then col3 else 0 end) as e
from
  row2col1
group by
  col1;

hive 多列轉(zhuǎn)多行,hive,hive,hadoop,數(shù)據(jù)倉庫
總結(jié):多行轉(zhuǎn)多列主要是條件函數(shù),再取最大值,再用as自定義為新列名

二、單行轉(zhuǎn)多列

原始數(shù)據(jù)表
hive 多列轉(zhuǎn)多行,hive,hive,hadoop,數(shù)據(jù)倉庫
目標(biāo)數(shù)據(jù)表
**hive 多列轉(zhuǎn)多行,hive,hive,hadoop,數(shù)據(jù)倉庫
分析:結(jié)果表是將原始表按照col1和col2進行分組統(tǒng)計,將原始表中具有相同col2的col3值拼接到目標(biāo)表col3的字段當(dāng)中,所以要采用hive中的拼接函數(shù),但是拼接函數(shù)只使用于字符串,所以要將目標(biāo)表中的col3的值轉(zhuǎn)換為字符串,同時指定拼接關(guān)系逗號

SQL語句

select
  col1,
  col2,
  concat_ws(',', collect_list(cast(col3 as string))) as col3
from
  row2col2
group by
  col1, col2;

總結(jié):多行轉(zhuǎn)單列主要知識點就是字符串拼接函數(shù)

三、多列轉(zhuǎn)多行

原始表
hive 多列轉(zhuǎn)多行,hive,hive,hadoop,數(shù)據(jù)倉庫
目標(biāo)表
hive 多列轉(zhuǎn)多行,hive,hive,hadoop,數(shù)據(jù)倉庫
分析:union all 是在結(jié)果的行后面增加,簡單理解為:連接行記錄,類似向MySQL數(shù)據(jù)庫中增加行記錄
而left join是將兩個表的列全部放入一張表的列中,增加列記錄。

SQL實現(xiàn)

select col1, 'c' as col2, col2 as col3 from col2row1
UNION ALL
select col1, 'd' as col2, col3 as col3 from col2row1
UNION ALL
select col1, 'e' as col2, col4 as col3 from col2row1;

hive 多列轉(zhuǎn)多行,hive,hive,hadoop,數(shù)據(jù)倉庫

四、單列轉(zhuǎn)多行

原始表
hive 多列轉(zhuǎn)多行,hive,hive,hadoop,數(shù)據(jù)倉庫
目標(biāo)表
hive 多列轉(zhuǎn)多行,hive,hive,hadoop,數(shù)據(jù)倉庫
分析:一列中包含多個數(shù)據(jù)如Map或array,一般使用explode函數(shù),俗稱炸裂函數(shù),將數(shù)據(jù)集合切分出來展示
SQL實現(xiàn)

select
  col1,
  col2,
  lv.col3 as col3
from
  col2row2
    lateral view
  explode(split(col3, ',')) lv as col3;

結(jié)果
hive 多列轉(zhuǎn)多行,hive,hive,hadoop,數(shù)據(jù)倉庫文章來源地址http://www.zghlxwxcb.cn/news/detail-522973.html

到了這里,關(guān)于Hive多行轉(zhuǎn)多列,多列轉(zhuǎn)多行的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Hive-SQL】Hive Select 選擇語句排除一列或多列

    查看 除了sample_date 以外的所有字段信息 查看 除了sample_date 和 msgtype 以外的所有字段信息 上面的 set hive.support.quoted.identifiers=none; 可以替換操作: 在 \\\'hive-site.xml\\\' 中添加以下配置: hive.support.quoted.identifiers=none

    2024年02月10日
    瀏覽(21)
  • Hive數(shù)據(jù)倉庫---Hive的安裝與配置

    Hive數(shù)據(jù)倉庫---Hive的安裝與配置

    Hive 官網(wǎng)地址:https://hive.apache.org/ 下載地址:http://www.apache.org/dyn/closer.cgi/hive/ 把安裝文件apache-hive-3.1.2-bin.tar.gz上傳到master節(jié)點的/opt/software目 錄下,執(zhí)行以下命令把安裝文件解壓到/opt/app目錄中 進入/opt/app目錄,為目錄apache-hive-3.1.2-bin建立軟件鏈接 即輸入hive就相當(dāng)于輸入a

    2024年02月02日
    瀏覽(50)
  • hive數(shù)據(jù)倉庫工具

    hive數(shù)據(jù)倉庫工具

    1、hive是一套操作數(shù)據(jù)倉庫的應(yīng)用工具,通過這個工具可實現(xiàn)mapreduce的功能 2、hive的語言是hql[hive query language] 3、官網(wǎng)hive.apache.org 下載hive軟件包地址? Welcome! - The Apache Software Foundation https://archive.apache.org/ 4、hive在管理數(shù)據(jù)時分為元數(shù)據(jù)和真數(shù)據(jù),其中元數(shù)據(jù)要保存在數(shù)據(jù)庫中

    2024年02月04日
    瀏覽(26)
  • 數(shù)據(jù)倉庫 & Apache Hive

    數(shù)據(jù)倉庫 & Apache Hive

    目錄 一、數(shù)據(jù)分析 1、數(shù)據(jù)倉庫 1.1、數(shù)倉專注分析 1.2、數(shù)倉主要特征 1.3、數(shù)據(jù)倉庫主流開發(fā)語言--SQL 2、Apache Hive 2.1、為什么使用Hive? 2.2、Hive和Hadoop關(guān)系 2.3、Hive架構(gòu)圖、各組件功能 2.4、Hive安裝部署 2.4.1、Hive概念介紹 2.4.2、安裝前準(zhǔn)備 ? ? 數(shù)據(jù)倉庫 (英語:Data Warehous

    2024年01月22日
    瀏覽(34)
  • Hive 數(shù)據(jù)倉庫介紹

    Hive 數(shù)據(jù)倉庫介紹

    目錄 ?編輯 一、Hive 概述 1.1 Hive產(chǎn)生的原因 1.2 Hive是什么? 1.3 Hive 特點 1.4 Hive生態(tài)鏈關(guān)系 二、Hive架構(gòu) 2.1 架構(gòu)圖 2.2 架構(gòu)組件說明 2.2.1 Interface 2.2.1.1 CLI 2.2.1.2 JDBC/ODBC 2.2.1.3 WebUI 2.2.2 MetaData 2.2.3 MetaStore 2.2.4 Hiveserver2 2.2.5 Driver 2.2.5.1 解釋器 2.2.5.2 編譯器 2.2.5.3 優(yōu)化器 2.2.5.4 執(zhí)行

    2024年02月07日
    瀏覽(28)
  • hive數(shù)據(jù)倉庫課后答案

    一、 填空題 1.?dāng)?shù)據(jù)倉庫的目的是構(gòu)建面向 ? ? 分析? ? ? ?? 的集成化數(shù)據(jù)環(huán)境。 2.Hive是基于 ? ? Hadoop? ? ? ?? 的一個數(shù)據(jù)倉庫工具。 3.?dāng)?shù)據(jù)倉庫分為3層,即 ? ? ?源數(shù)據(jù)層? ? ? ? 、 ? ? 數(shù)據(jù)應(yīng)用層? ? ? ? 和數(shù)據(jù)倉庫層。 4.?dāng)?shù)據(jù)倉庫層可以細(xì)分為 ? ? ?明細(xì)層

    2023年04月08日
    瀏覽(24)
  • 【Hive】——數(shù)據(jù)倉庫

    【Hive】——數(shù)據(jù)倉庫

    數(shù)據(jù)倉庫(data warehouse):是一個用于存儲,分析,報告的數(shù)據(jù)系統(tǒng) 目的:是構(gòu)建面向分析的集成化數(shù)據(jù)環(huán)境,分析結(jié)果為企業(yè)提供決策支持 特點: 數(shù)據(jù)倉庫本身不產(chǎn)生任何數(shù)據(jù),其數(shù)據(jù)來源于不同外部系統(tǒng) 數(shù)據(jù)倉庫也不需要消費任何的書,其結(jié)果開放給各個外部應(yīng)用使用

    2024年02月04日
    瀏覽(20)
  • 安裝hive數(shù)據(jù)倉庫

    安裝hive數(shù)據(jù)倉庫

    需要安裝部署完成的Hadoop的環(huán)境如果不會搭建的可以參考: 卸載Centos7自帶的mariadb mariadb-libs-5.5.64-1.el7.x86_64是使用 rpm -qa|grep mariadb 查詢出來的名稱 安裝mysql 安裝mysql時可能會出現(xiàn)的問題 1、依賴檢測失敗 問題很明顯了就是依賴的問題,下載他說的依賴就好了 安裝hive 上傳并且

    2024年02月14日
    瀏覽(22)
  • Hive數(shù)據(jù)倉庫

    Hive數(shù)據(jù)倉庫

    數(shù)據(jù)倉庫(英語:Data Warehouse,簡稱數(shù)倉、DW),是一個用于存儲、分析、報告的數(shù)據(jù)系統(tǒng)。 數(shù)據(jù)倉庫的目的是構(gòu)建面相分析的集成化數(shù)據(jù)環(huán)境,分析結(jié)果為企業(yè)提供決策支持(Decision Support)。 數(shù)據(jù)倉庫本身并不“產(chǎn)生”任何數(shù)據(jù),其數(shù)據(jù)來源不同外部系統(tǒng); 同時數(shù)據(jù)倉庫

    2024年02月15日
    瀏覽(25)
  • Hive數(shù)據(jù)倉庫簡介

    Hive數(shù)據(jù)倉庫簡介

    Hive起源于Facebook,F(xiàn)acebook公司有著大量的日志數(shù)據(jù),而Hadoop是實現(xiàn)了MapReduce模式開源的分布式并行計算的框架,可輕松處理大規(guī)模數(shù)據(jù)。然而MapReduce程序?qū)κ煜ava語言的工程師來說容易開發(fā),但對于其他語言使用者則難度較大。因此Facebook開發(fā)團隊想設(shè)計一種使用SQL語言對日

    2024年02月15日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包