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

Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段

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

一、實戰(zhàn)概述

  • 本實戰(zhàn)教程通過一系列Hive SQL操作,演示了如何在大數(shù)據(jù)環(huán)境下創(chuàng)建具有省市分區(qū)的大學(xué)表,并從本地文件系統(tǒng)加載不同地區(qū)的學(xué)校數(shù)據(jù)到對應(yīng)分區(qū)。首先,創(chuàng)建名為school的數(shù)據(jù)庫并切換至該數(shù)據(jù)庫;接著,在數(shù)據(jù)庫中定義一個名為university的分區(qū)表,其結(jié)構(gòu)包括ID和名稱兩列,并按照省份和城市進行物理分區(qū)。隨后,在本地創(chuàng)建多個包含各省市區(qū)學(xué)校數(shù)據(jù)的文本文件。

  • 在完成數(shù)據(jù)文件準(zhǔn)備后,依次將各地區(qū)學(xué)校數(shù)據(jù)文件按省市分區(qū)加載到university表中,利用LOAD DATA LOCAL INPATH語句實現(xiàn)數(shù)據(jù)高效地從本地導(dǎo)入到Hadoop分布式文件系統(tǒng)(HDFS)中的相應(yīng)分區(qū)目錄下。

  • 最后,通過執(zhí)行SQL查詢語句驗證數(shù)據(jù)加載的正確性,查看全表記錄以及特定省份的所有記錄,并通過HDFS命令行工具檢查分區(qū)表對應(yīng)的目錄及文件。此外,還展示了如何在MySQL中查看Hive元數(shù)據(jù)信息,進一步理解Hive中分區(qū)表的實際存儲結(jié)構(gòu)和組織方式。整個實戰(zhàn)過程旨在幫助用戶掌握基于Hive的大規(guī)模數(shù)據(jù)管理和分區(qū)表應(yīng)用技巧。

二、實戰(zhàn)步驟

(一)創(chuàng)建學(xué)校數(shù)據(jù)庫

  • 執(zhí)行語句:create database school;
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段
  • 執(zhí)行語句:use school;,切換到school數(shù)據(jù)庫
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

(二)創(chuàng)建省市分區(qū)的大學(xué)表

  • 執(zhí)行語句:CREATE TABLE university (id INT, name STRING) PARTITIONED BY (province STRING, city STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段
  • 該SQL語句用于在支持分區(qū)功能的數(shù)據(jù)庫系統(tǒng)(如Hive、Impala等基于Hadoop的數(shù)據(jù)倉庫)中創(chuàng)建一個名為university的表,并且定義了表的結(jié)構(gòu)以及分區(qū)方案。不過,值得注意的是,標(biāo)準(zhǔn)的SQL語法并不直接支持PARTITIONED BY這樣的關(guān)鍵字,這是大數(shù)據(jù)處理框架為了解決大規(guī)模數(shù)據(jù)存儲和查詢優(yōu)化而擴展的語法。
CREATE TABLE university (
    id INT,
    name STRING
)
  • 這部分定義了一個新表university,它有兩個列:
    • id列是整數(shù)類型(INT)。
    • name列是字符串類型(STRING)。
PARTITIONED BY (province STRING, city STRING)
  • 這部分指定了表的分區(qū)鍵。這意味著表中的數(shù)據(jù)會按照provincecity這兩個字段的值進行物理劃分。每個分區(qū)對應(yīng)一組特定省份和城市的記錄集合。這樣做可以提高針對特定省份或城市數(shù)據(jù)的查詢性能,因為只需要掃描相關(guān)的數(shù)據(jù)分區(qū)即可,而不是整個表。
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ' '
  • 這部分定義了表數(shù)據(jù)的格式:

    • ROW FORMAT DELIMITED表示每一行數(shù)據(jù)都是以某種分隔符結(jié)束的。
    • FIELDS TERMINATED BY ' '說明各個字段之間用空格字符作為分隔符。
  • 總結(jié)起來,這條SQL語句是在創(chuàng)建一個具有ID和名稱兩列的university表,并按照省份和城市進行了分區(qū),且表中數(shù)據(jù)是以空格分隔的文本格式存儲。這非常適合于處理大型、半結(jié)構(gòu)化的日志文件或者需要按地理位置快速檢索的大數(shù)據(jù)場景。

(三)在本地創(chuàng)建數(shù)據(jù)文件

1、創(chuàng)建四川成都學(xué)校數(shù)據(jù)文件

  • 在master虛擬機上創(chuàng)建sc_cd_schools.txt文件
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

2、創(chuàng)建四川瀘州學(xué)校數(shù)據(jù)文件

  • 在master虛擬機上創(chuàng)建sc_lz_schools.txt文件
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

3、創(chuàng)建江蘇南京學(xué)校數(shù)據(jù)文件

  • 在master虛擬機上創(chuàng)建js_nj_schools.txt文件
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

4、創(chuàng)建江蘇蘇州學(xué)校數(shù)據(jù)文件

  • 在master虛擬機上創(chuàng)建js_sz_schools.txt文件
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

(四)按省市分區(qū)加載學(xué)校數(shù)據(jù)

1、加載四川成都學(xué)校數(shù)據(jù)文件到四川成都分區(qū)

  • 加載sc_cd_schools.txt到分區(qū)(province='sc', city='cd'

  • 執(zhí)行語句:LOAD DATA LOCAL INPATH '/root/sc_cd_schools.txt' OVERWRITE INTO TABLE university PARTITION (province='sc', city='cd');
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

  • 這段SQL語句是在大數(shù)據(jù)處理框架如Hive或Impala中使用的,用于從本地文件系統(tǒng)加載數(shù)據(jù)到已存在的分區(qū)表university中,并且會覆蓋目標(biāo)分區(qū)已有的數(shù)據(jù)。

    • LOAD DATA LOCAL INPATH '/root/sc_cd_schools.txt': 這部分指定要加載的數(shù)據(jù)文件路徑。其中LOCAL關(guān)鍵字表示數(shù)據(jù)文件位于客戶端(即運行該命令的機器)本地文件系統(tǒng)中的 /root/sc_cd_schools.txt 路徑下。

    • OVERWRITE INTO TABLE university: OVERWRITE 表示如果目標(biāo)表或者目標(biāo)分區(qū)已有數(shù)據(jù),則先刪除原有數(shù)據(jù)再進行加載;INTO TABLE university 指定了將數(shù)據(jù)加載到名為 university 的表中。

    • PARTITION (province='sc', city='cd'): 由于 university 表是分區(qū)表,這里指定了要加載數(shù)據(jù)到的具體分區(qū),即 province 字段為 'sc' (四川省的縮寫)和 city 字段為 'cd' (成都市的縮寫)。這意味著數(shù)據(jù)將會被加載到代表四川省成都市的分區(qū)里。

  • 總結(jié):該SQL語句的作用是從本地文件系統(tǒng)中讀取 /root/sc_cd_schools.txt 文件中的數(shù)據(jù),然后將其作為四川省成都市分區(qū)的數(shù)據(jù),以覆蓋的方式加載到名為 university 的分區(qū)表中。

2、加載四川瀘州學(xué)校數(shù)據(jù)文件到四川瀘州分區(qū)

  • 加載sc_lz_schools.txt到分區(qū)(province='sc', city='lz'

  • 執(zhí)行語句:LOAD DATA LOCAL INPATH '/root/sc_lz_schools.txt' OVERWRITE INTO TABLE university PARTITION (province='sc', city='lz');
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段文章來源地址http://www.zghlxwxcb.cn/news/detail-791948.html

3、加載江蘇南京學(xué)校數(shù)據(jù)文件到江蘇南京分區(qū)

  • 加載js_nj_schools.txt到分區(qū)(province='js', city='nj'
  • 執(zhí)行語句:LOAD DATA LOCAL INPATH '/root/js_nj_schools.txt' OVERWRITE INTO TABLE university PARTITION (province='js', city='nj');
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

4、加載江蘇蘇州學(xué)校數(shù)據(jù)文件到江蘇蘇州分區(qū)

  • 加載js_sz_schools.txt到分區(qū)(province='js', city='sz'
  • 執(zhí)行語句:LOAD DATA LOCAL INPATH '/root/js_sz_schools.txt' OVERWRITE INTO TABLE university PARTITION (province='js', city='sz');
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

(五)查看大學(xué)分區(qū)表記錄

1、查看全部記錄

  • 執(zhí)行語句:SELECT * FROM university;
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

2、查看江蘇分區(qū)記錄

  • 執(zhí)行語句:SELECT * FROM university WHERE province = 'js';
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

(六)查看大學(xué)分區(qū)表對應(yīng)的目錄及文件

  • 執(zhí)行命令:hdfs dfs -ls -R /user/hive/warehouse/school.db
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

(七)在MySQL里查看Hive元數(shù)據(jù)(分區(qū)信息)

1、登錄MySQL Hive Metastore數(shù)據(jù)庫

  • 執(zhí)行命令:mysql -uroot -p903213,登錄MySQL,然后執(zhí)行use hive;,打開hive元數(shù)據(jù)庫
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

2、 查看university表分區(qū)元數(shù)據(jù)信息

  • 執(zhí)行語句:SELECT * FROM COLUMNS_V2;,university分區(qū)表的CD_ID值是33
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段
  • 執(zhí)行語句:SELECT SD_ID, CD_ID, LOCATION FROM SDS WHERE CD_ID = 33;
    Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段,數(shù)倉技術(shù)Hive入門,hive,分區(qū)表,多分區(qū)字段

三、實戰(zhàn)總結(jié)

  • 本實戰(zhàn)演練通過創(chuàng)建分區(qū)表university,并按省市劃分加載本地學(xué)校數(shù)據(jù)文件至Hive,展示了大數(shù)據(jù)環(huán)境下高效的數(shù)據(jù)管理與查詢方法。利用分區(qū)技術(shù)優(yōu)化存儲與查詢性能,并通過SQL驗證數(shù)據(jù)加載正確性及查看分區(qū)信息,實現(xiàn)了對大規(guī)模教育數(shù)據(jù)的組織和分析。

四、課后練習(xí)

  • 根據(jù)實戰(zhàn)教程中的步驟,自行創(chuàng)建一個以國家和城市為分區(qū)鍵的公司信息表(如company),包含字段:id(整數(shù)類型)、name(字符串類型)和address(字符串類型)。然后,在本地創(chuàng)建不同國家城市公司的數(shù)據(jù)文件,并將這些數(shù)據(jù)按各自對應(yīng)的國家和城市分區(qū)加載到Hive表中。最后,通過SQL查詢驗證數(shù)據(jù)加載完整性與正確性。

到了這里,關(guān)于Hive分區(qū)表實戰(zhàn) - 多分區(qū)字段的文章就介紹完了。如果您還想了解更多內(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 分區(qū)表 (Partitioned Tables) 『 創(chuàng)建分區(qū)表 | CRUD分區(qū) | 修復(fù)分區(qū) | 數(shù)據(jù)導(dǎo)入(靜態(tài)分區(qū)、動態(tài)分區(qū)) | 查詢數(shù)據(jù)/表結(jié)構(gòu)』

    Hive 分區(qū)表 (Partitioned Tables) 『 創(chuàng)建分區(qū)表 | CRUD分區(qū) | 修復(fù)分區(qū) | 數(shù)據(jù)導(dǎo)入(靜態(tài)分區(qū)、動態(tài)分區(qū)) | 查詢數(shù)據(jù)/表結(jié)構(gòu)』

    條件:假如現(xiàn)有一個角色表 t_all_hero ,該表中有6個清洗干凈的互不干擾的數(shù)據(jù)文件:射手、坦克、戰(zhàn)士、法師、刺客、輔助 要求:查找出名字為射手且生命值大于6000的角色人數(shù) 慣性解決方法:按照MySQL思維很容易想到 問:如何提高效率?這樣雖然能夠解決問題,但是由于要

    2024年02月04日
    瀏覽(39)
  • Hive分區(qū)表修改(增刪)列

    環(huán)境:CDH6.3.0,Hive 2.1.1-cdh6.3.0 基礎(chǔ)數(shù)據(jù)分區(qū)表test1,包含a,b,c,d共4列加分區(qū)列p_day,向其中插入兩行數(shù)據(jù) 表中數(shù)據(jù)及parquet文件信息如下: test2表直接使用test1表的文件: 修復(fù)分區(qū)并查詢數(shù)據(jù) 刪除test2表的a列,看起來只有通過replace columns實現(xiàn),但是運行報錯,根據(jù)官方文檔,只

    2023年04月26日
    瀏覽(23)
  • Hive 分區(qū)表和分桶表

    在《Hive 建表語句解析》文章中,建表的時候我們可以使用 PARTITIONED BY 子句和 CLUSTERED BY 子句來創(chuàng)建分區(qū)表和分桶表,為什么要創(chuàng)建分區(qū)表和分桶表呢?分區(qū)表和分桶表有什么區(qū)別呢? 1. 為什么分區(qū) 在Hive 查詢中一般會掃描整個表內(nèi)容,會消耗很多時間做沒必要的工作。有時

    2023年04月23日
    瀏覽(46)
  • Hive ---- 分區(qū)表和分桶表

    Hive ---- 分區(qū)表和分桶表

    Hive中的分區(qū)就是把一張大表的數(shù)據(jù)按照業(yè)務(wù)需要分散的存儲到多個目錄,每個目錄就稱為該表的一個分區(qū)。在查詢時通過where子句中的表達式選擇查詢所需要的分區(qū),這樣的查詢效率會提高很多。 1. 創(chuàng)建分區(qū)表 2. 分區(qū)表讀寫數(shù)據(jù) 1)寫數(shù)據(jù) (1)load 數(shù)據(jù)準(zhǔn)備 在/opt/module/hiv

    2024年02月10日
    瀏覽(56)
  • Hive創(chuàng)建分區(qū)表并插入數(shù)據(jù)

    業(yè)務(wù)中經(jīng)常會遇到這種需求:數(shù)據(jù)每天全量更新,但是要求月底將數(shù)據(jù)單獨保存一份以供后期查詢某月節(jié)點的信息。這時就要考慮用到Hive的分區(qū)表實現(xiàn),即按照月份創(chuàng)建分區(qū)表,相當(dāng)于新的月份數(shù)據(jù)保存在新表,進而實現(xiàn)保存了歷史數(shù)據(jù)。 分區(qū)表的創(chuàng)建本質(zhì)是在HDFS創(chuàng)建了一

    2024年02月07日
    瀏覽(22)
  • 二次開發(fā)DataX以支持HIVE分區(qū)表

    二次開發(fā)DataX以支持HIVE分區(qū)表

    ????????最近在一個大數(shù)據(jù)的項目開發(fā)中使用到了數(shù)據(jù)同步工具DataX,但在使用過程中發(fā)現(xiàn)了DataX對HIve分區(qū)表的支持不太友好。 ????????具體體現(xiàn)在將數(shù)據(jù)庫中的數(shù)據(jù)同步到HIVE分區(qū)表時,寫入目錄為HIVE表分區(qū)為dt=XXXX,如果不提前創(chuàng)建該分區(qū),會報目錄不存在的錯誤,如

    2024年02月16日
    瀏覽(27)
  • 【Hive大數(shù)據(jù)】Hive分區(qū)表與分桶表使用詳解

    目錄 一、分區(qū)概念產(chǎn)生背景 二、分區(qū)表特點 三、分區(qū)表類型 3.1 單分區(qū) 3.2 多分區(qū)

    2024年02月03日
    瀏覽(29)
  • hive分區(qū)表之insert overwrite 注意事項

    hive分區(qū)表之insert overwrite 注意事項

    hive version 3.1.3 以往我們插入分區(qū) 需要 insert ovewrite table? p_table partition(period_id=‘202212’)? select id name from xxxx; ?或者是 insert overwrite table? select? id,name,period_id from table where period_id=202212 前者是指定分區(qū),后者是動態(tài)分區(qū)。沒啥好說的。 但是今天遇到一個問題,如果我查詢的數(shù)

    2024年02月13日
    瀏覽(32)
  • HIVE表數(shù)據(jù)快速構(gòu)造(分區(qū)表、orc、text)

    HIVE表數(shù)據(jù)快速構(gòu)造(分區(qū)表、orc、text)

    引言 當(dāng)需要在hive數(shù)倉中去創(chuàng)建測試表并構(gòu)造測試數(shù)據(jù)時,通常需要在安裝了hive客戶端的服務(wù)器環(huán)境下,通過執(zhí)行命令的方式建表。通過在HDFS上上傳和加載數(shù)據(jù)文件的方式來加載數(shù)據(jù)到hive表中。其中操作算不得多復(fù)雜,但比較依賴對環(huán)境和命令的熟悉,并且操作不夠可視化

    2024年02月16日
    瀏覽(41)
  • 【DolphinScheduler】datax讀取hive分區(qū)表時,空分區(qū)、分區(qū)無數(shù)據(jù)任務(wù)報錯問題解決

    【DolphinScheduler】datax讀取hive分區(qū)表時,空分區(qū)、分區(qū)無數(shù)據(jù)任務(wù)報錯問題解決

    最近在使用海豚調(diào)度DolphinScheduler的Datax組件時,遇到這么一個問題:之前給客戶使用海豚做的離線數(shù)倉的分層搭建,一直都運行好好的,過了個元旦,這幾天突然在數(shù)倉做任務(wù)時報錯,具體報錯信息如下: com.alibaba.datax.common.exception.DataXException: Code:[HdfsReader-08], Description:[您嘗

    2024年01月16日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包