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

Hive數(shù)據(jù)倉(cāng)庫(kù)行轉(zhuǎn)列

這篇具有很好參考價(jià)值的文章主要介紹了Hive數(shù)據(jù)倉(cāng)庫(kù)行轉(zhuǎn)列。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

查了很多資料發(fā)現(xiàn)網(wǎng)上很多文章都是轉(zhuǎn)發(fā)和抄襲,有些問(wèn)題。這里分享一個(gè)自己項(xiàng)目中使用的行轉(zhuǎn)列例子,供大家參考。代碼如下:

SELECT
  my_id,
  nm_cd_map['A'] AS my_cd_a,
  nm_cd_map['B'] AS my_cd_b,
  nm_cd_map['C'] AS my_cd_c,
  nm_num_map['A'] AS my_num_a,
  nm_num_map['B'] AS my_num_b,
  nm_num_map['C'] AS my_num_c
FROM
  (
    SELECT
      t.my_id,
      STR_TO_MAP(my_nm_cds,';',':') AS nm_cd_map,
      STR_TO_MAP(my_nm_nums,';',':') AS nm_num_map
    FROM
      (
        SELECT
          my_id,
          CONCAT_WS(';',COLLECT_LIST(CONCAT(my_nm,':',my_cd))) AS my_nm_cds,
          CONCAT_WS(';',COLLECT_LIST(CONCAT(my_nm,':',my_num))) AS my_nm_nums
        FROM
          (
            SELECT '1' AS my_id,'A' AS my_nm,'D01' AS my_cd,19 AS my_num
            UNION ALL
            SELECT '1' AS my_id,'B' AS my_nm,'D04' AS my_cd,18 AS my_num
            UNION ALL
            SELECT '1' AS my_id,'C' AS my_nm,'D02' AS my_cd,17 AS my_num
            UNION ALL
            SELECT '2' AS my_id,'A' AS my_nm,'D03' AS my_cd,16 AS my_num
            UNION ALL
            SELECT '2' AS my_id,'B' AS my_nm,'D05' AS my_cd,15 AS my_num
            UNION ALL
            SELECT '2' AS my_id,'C' AS my_nm,'D06' AS my_cd,14 AS my_num
          )
        GROUP BY my_id
      ) t
  ) t
WHERE 1=1;

如果是在SparkSQL或Presto平臺(tái),或者阿里云的MaxCompute平臺(tái),還可使用如下方式:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-832204.html

-- 其實(shí)也可使用CONCAT然后STR_TO_MAP的方式,或者用MAP_FROM_ARRAYS,再或者用數(shù)組排序后ARRAY[n] AS的方式
SELECT
  my_id,
  nm_cd_map['A'] AS my_cd_a,
  nm_cd_map['B'] AS my_cd_b,
  nm_cd_map['C'] AS my_cd_c,
  nm_num_map['A'] AS my_num_a,
  nm_num_map['B'] AS my_num_b,
  nm_num_map['C'] AS my_num_c
FROM
  (
    SELECT
      t.my_id,
      MAP_FROM_ENTRIES(COLLECT_LIST(nm_cd)) AS nm_cd_map,
      MAP_FROM_ENTRIES(COLLECT_LIST(nm_num)) AS nm_num_map
    FROM
      (
        SELECT
          my_id,
          my_nm,
          my_cd,
          my_num,
          STRUCT(my_nm,my_cd) AS nm_cd,
          STRUCT(my_nm,my_num) AS nm_num
        FROM
          (
            SELECT '1' AS my_id,'A' AS my_nm,'D01' AS my_cd,19 AS my_num
            UNION ALL
            SELECT '1' AS my_id,'B' AS my_nm,'D04' AS my_cd,18 AS my_num
            UNION ALL
            SELECT '1' AS my_id,'C' AS my_nm,'D02' AS my_cd,17 AS my_num
            UNION ALL
            SELECT '2' AS my_id,'A' AS my_nm,'D03' AS my_cd,16 AS my_num
            UNION ALL
            SELECT '2' AS my_id,'B' AS my_nm,'D05' AS my_cd,15 AS my_num
            UNION ALL
            SELECT '2' AS my_id,'C' AS my_nm,'D06' AS my_cd,14 AS my_num
          )
      ) t
    GROUP BY my_id
  ) t
WHERE 1=1;

到了這里,關(guān)于Hive數(shù)據(jù)倉(cāng)庫(kù)行轉(zhuǎn)列的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 行轉(zhuǎn)列--將多行數(shù)據(jù)轉(zhuǎn)成多行多列的Table結(jié)構(gòu)

    行轉(zhuǎn)列--將多行數(shù)據(jù)轉(zhuǎn)成多行多列的Table結(jié)構(gòu)

    21年做的一個(gè)功能,涉及到將行數(shù)據(jù)轉(zhuǎn)化成列數(shù)據(jù)。邊查邊做,一點(diǎn)一點(diǎn)的嘗試著做好。當(dāng)時(shí)感覺(jué)有點(diǎn)吃力。完成之后本想記錄,但一直拖延至今。最近再次接手與這個(gè)功能相關(guān)的業(yè)務(wù),整理了之前寫(xiě)的代碼,趁此機(jī)會(huì)記錄下來(lái)。 界面中是一個(gè)三級(jí)結(jié)構(gòu):L1級(jí)【Test Sample】,

    2024年02月05日
    瀏覽(20)
  • chatgpt賦能python:Python行轉(zhuǎn)列:如何高效地處理大數(shù)據(jù)集

    Python是一種廣泛使用的編程語(yǔ)言,最初用于Web開(kāi)發(fā),如今已成為專(zhuān)業(yè)開(kāi)發(fā)、科學(xué)計(jì)算和數(shù)據(jù)分析等領(lǐng)域的一種首選語(yǔ)言。Python非常方便,尤其是在處理大數(shù)據(jù)集時(shí)。本文將介紹如何使用Python將行數(shù)據(jù)轉(zhuǎn)換成列數(shù)據(jù),以及如何在這個(gè)過(guò)程中優(yōu)化效率。 行轉(zhuǎn)列指的是將一組數(shù)據(jù)從

    2024年02月06日
    瀏覽(24)
  • Hive數(shù)據(jù)倉(cāng)庫(kù)---Hive的安裝與配置

    Hive數(shù)據(jù)倉(cāng)庫(kù)---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é)點(diǎn)的/opt/software目 錄下,執(zhí)行以下命令把安裝文件解壓到/opt/app目錄中 進(jìn)入/opt/app目錄,為目錄apache-hive-3.1.2-bin建立軟件鏈接 即輸入hive就相當(dāng)于輸入a

    2024年02月02日
    瀏覽(50)
  • 大數(shù)據(jù)HIVE篇--控制hive任務(wù)中的map數(shù)和reduce數(shù)

    一、 控制hive任務(wù)中的map數(shù): 通常情況下,作業(yè)會(huì)通過(guò)input的目錄產(chǎn)生一個(gè)或者多個(gè)map任務(wù)。 主要的決定因素有: input的文件總個(gè)數(shù),input的文件大小,集群設(shè)置的文件塊大小(目前為128M, 可在hive中通過(guò)set dfs.block.size;命令查看到,該參數(shù)不能自定義修改); 舉例: a) 假設(shè)input目

    2024年02月05日
    瀏覽(16)
  • hive數(shù)據(jù)倉(cāng)庫(kù)工具

    hive數(shù)據(jù)倉(cāng)庫(kù)工具

    1、hive是一套操作數(shù)據(jù)倉(cāng)庫(kù)的應(yīng)用工具,通過(guò)這個(gè)工具可實(shí)現(xiàn)mapreduce的功能 2、hive的語(yǔ)言是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í)分為元數(shù)據(jù)和真數(shù)據(jù),其中元數(shù)據(jù)要保存在數(shù)據(jù)庫(kù)中

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

    數(shù)據(jù)倉(cāng)庫(kù) & Apache Hive

    目錄 一、數(shù)據(jù)分析 1、數(shù)據(jù)倉(cāng)庫(kù) 1.1、數(shù)倉(cāng)專(zhuān)注分析 1.2、數(shù)倉(cāng)主要特征 1.3、數(shù)據(jù)倉(cāng)庫(kù)主流開(kāi)發(fā)語(yǔ)言--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ù)倉(cāng)庫(kù) (英語(yǔ):Data Warehous

    2024年01月22日
    瀏覽(34)
  • Hive數(shù)據(jù)倉(cāng)庫(kù)簡(jiǎn)介

    Hive數(shù)據(jù)倉(cāng)庫(kù)簡(jiǎn)介

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

    2024年02月15日
    瀏覽(24)
  • Hive 數(shù)據(jù)倉(cāng)庫(kù)介紹

    Hive 數(shù)據(jù)倉(cāng)庫(kù)介紹

    目錄 ?編輯 一、Hive 概述 1.1 Hive產(chǎn)生的原因 1.2 Hive是什么? 1.3 Hive 特點(diǎn) 1.4 Hive生態(tài)鏈關(guān)系 二、Hive架構(gòu) 2.1 架構(gòu)圖 2.2 架構(gòu)組件說(shuō)明 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ù)倉(cāng)庫(kù)課后答案

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

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

    【Hive】——數(shù)據(jù)倉(cāng)庫(kù)

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

    2024年02月04日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包