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

Hive 表 DML 操作 第1關(guān):將文件中的數(shù)據(jù)導(dǎo)入(Load)到 Hive 表中

這篇具有很好參考價(jià)值的文章主要介紹了Hive 表 DML 操作 第1關(guān):將文件中的數(shù)據(jù)導(dǎo)入(Load)到 Hive 表中。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

相關(guān)知識

之前系列實(shí)訓(xùn)中我們接觸過導(dǎo)入本地文件到Hive表中,本關(guān)就進(jìn)行導(dǎo)入的詳細(xì)講解。

為了完成本關(guān)任務(wù),你需要掌握:1.導(dǎo)入命令語法,2.如何將本地txt文件導(dǎo)入到分區(qū)表中。

導(dǎo)入命令語法

Load操作執(zhí)行copy/move命令把數(shù)據(jù)文件copy/moveHive表位于 HDFS上的目錄位置,并不會(huì)對數(shù)據(jù)內(nèi)容執(zhí)行格式檢查或格式轉(zhuǎn)換操作。Load命令語法為:

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=vall,partcol2=val2 …)];

文件路徑filepath可以是指向HDFS的相對路徑或是絕對路徑,也可以是指向本地文件系統(tǒng)(Linux文件系統(tǒng))相對路徑(當(dāng)前工作目錄)或絕對路徑。

filepath指向HDFS,LOAD執(zhí)行的是move操作(即執(zhí)行LOADfilepath中的文件不再存在);若filepath指向本地文件系統(tǒng),LOAD執(zhí)行的是copy操作(即執(zhí)行LOADfilepath中的文件仍然存在),但需要指定LOCAL關(guān)鍵字。

filepath指向一個(gè)文件,LOAD會(huì)copymove相應(yīng)的文件到表tablename;若filepath指向一個(gè)目錄,LOAD會(huì)copymove相應(yīng)目錄下的所有文件到表tablename若創(chuàng)建表時(shí)指定了分區(qū)列,使用 LOAD 命令加載數(shù)據(jù)時(shí)也要為所有分區(qū)列指定特定值。

針對LOAD語句中指明LOCAL關(guān)鍵字,INPATH參數(shù)可以使用下述方式確定:

  • Hive 會(huì)在本地文件系統(tǒng)中查找filepath

  • 用戶可以設(shè)置filepath為文件絕對路徑,如file:///user/hive/data

針對LOAD語句中未指明LOCAL關(guān)鍵字,INPATH參數(shù)可以使用下述方式確定:

  • filepath為相對路徑,Hive會(huì)解析成為/user/<username>/filepath

  • filepath未指定模式或文件系統(tǒng)類型(如hdfs://namenode:9000/),Hive會(huì)把${fs.default.name}值作為Namenode URL

若語句帶OVERWRITE關(guān)鍵字,目標(biāo)表或分區(qū)中的原始數(shù)據(jù)會(huì)被刪除,替換成新數(shù)據(jù);若未指定OVERWRITE關(guān)鍵字,新數(shù)據(jù)會(huì)以追加的方式被添加到表中。

若表或分區(qū)中的任何一個(gè)文件與filepath中的任何一個(gè)文件同名,則表或分區(qū)中的同名文件會(huì)被filepath中的同名文件替換。

將本地txt文件導(dǎo)入到分區(qū)表中(例子)

  • 創(chuàng)建數(shù)據(jù)庫shopping
CREATE DATABASE IF NOT EXISTS shopping
LOCATION '/hive/shopping';
  • 假設(shè)在數(shù)據(jù)庫shopping中有分區(qū)表items_info2
CREATE TABLE IF NOT EXISTS shopping.items_info2(
name STRING COMMENT 'item name',
price FLOAT COMMENT 'item price',
category STRING COMMENT 'item category',
brand STRING COMMENT 'item brand',
type STRING COMMENT 'item type',
stock INT COMMENT 'item stock',
address STRUCT <city:STRING, country:STRING, zip:INT> COMMENT 'item sales address')
COMMENT 'goods information table'
PARTITIONED BY (p_category STRING,p_brand STRING) //設(shè)置分區(qū)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '-'
TBLPROPERTIES ('creator'='Xiaoming','date'='2019-01-01');
  • 如假設(shè)本地文件/home/shoppings.txt內(nèi)容為:

Hive 表 DML 操作 第1關(guān):將文件中的數(shù)據(jù)導(dǎo)入(Load)到 Hive 表中

  • 字段間分隔符,根據(jù)表中設(shè)置FIELDS TERMINATED BY ','確定的。如果表中設(shè)置FIELDS TERMINATED BY '\t',那么字段間就應(yīng)該用Tab鍵間隔開

  • 集合分隔符-根據(jù)表中設(shè)置COLLECTION ITEMS TERMINATED BY '-'確定的。如果表中設(shè)置COLLECTION ITEMS TERMINATED BY ',',那么字段間就應(yīng)該用逗號,鍵間隔開

  • 使用LOAD命令加載本地文件數(shù)據(jù)到items_info2表相應(yīng)的分區(qū)中(PARTITION關(guān)鍵字指定內(nèi)容):
load data local inpath '/home/shoppings.txt' overwrite into table items_info2
partition (p_category='shoes',p_brand='playboy');

Hive 表 DML 操作 第1關(guān):將文件中的數(shù)據(jù)導(dǎo)入(Load)到 Hive 表中

  • 執(zhí)行LOAD命令后,Hive會(huì)在 HDFS 的/hive/shopping/items2/路徑下創(chuàng)建目錄p_category=shoes/p_brand=playboy/,并且會(huì)把items_info.txt文件復(fù)制到上述創(chuàng)建的目錄下

Hive 表 DML 操作 第1關(guān):將文件中的數(shù)據(jù)導(dǎo)入(Load)到 Hive 表中

編程要求

student表結(jié)構(gòu):

INFO TYPE
Sno INT
name STRING
age INT
sex STRING
score STRUCT <Chinese:FLOAT,Math:FLOAT,English:FLOAT>

本地文件/home/student.txt的內(nèi)容為:

Hive 表 DML 操作 第1關(guān):將文件中的數(shù)據(jù)導(dǎo)入(Load)到 Hive 表中

  • 創(chuàng)建數(shù)據(jù)庫test1

mysql> create database test1;
Query OK, 1 row affected (0.00 sec)
  • 切換到test1數(shù)據(jù)庫;

mysql> use test1;
Database changed
  • test1中創(chuàng)建相應(yīng)格式的表student(未分區(qū)),表結(jié)構(gòu)如上所示,分隔符根據(jù)/home/student.txt的內(nèi)容設(shè)置;

  • /home/student.txt的數(shù)據(jù)導(dǎo)入到表student中。文章來源地址http://www.zghlxwxcb.cn/news/detail-427710.html

/********* Begin *********/
create database if not exists test1 location '/hive/test1';
use test1;

create table if not exists test1.student (
    Sno int,
    name string,
    age int,
    sex string,
    score struct <Chinese:float, Math:float, English:float>
)

row format delimited 
fields terminated by ',' 
collection items terminated by '-';

load data local inpath '/home/student.txt' overwrite into table student;

/********* End *********/
select * from student;
  1. 按照以上要求填寫命令。每個(gè)要求對應(yīng)一條命令,共4條命令,以;隔開。(請勿刪除代碼框架)
  2. 由于hive啟動(dòng)時(shí)間較長,測評時(shí)請耐心等待,大概需要時(shí)間:60s左右。

到了這里,關(guān)于Hive 表 DML 操作 第1關(guān):將文件中的數(shù)據(jù)導(dǎo)入(Load)到 Hive 表中的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • HIVE表 DML 操作——第4關(guān):將 select 查詢結(jié)果寫入文件

    第4關(guān):將 select 查詢結(jié)果寫入文件 任務(wù)描述 本關(guān)任務(wù):根據(jù)編程要求將 select 查詢結(jié)果寫入文件。 相關(guān)知識 為了完成本關(guān)任務(wù),你需要掌握:1.單文件寫入,2.多文件寫入。 可以把 Hive 查詢結(jié)果寫入或?qū)С龅轿募?,與查詢結(jié)果插入到表中類似,導(dǎo)出 Hive 表中的數(shù)據(jù)到文件

    2024年02月05日
    瀏覽(37)
  • Apache Doris (三十一):Doris 數(shù)據(jù)導(dǎo)入(九)Spark Load 4- 導(dǎo)入Hive數(shù)據(jù)及注意事項(xiàng)

    目錄 1.?Spark Load導(dǎo)入Hive非分區(qū)表數(shù)據(jù) 2.?Spark Load 導(dǎo)入Hive分區(qū)表數(shù)據(jù) 3. 注意事項(xiàng) 進(jìn)入正文之前,歡迎訂閱專題、對博文點(diǎn)贊、評論、收藏,關(guān)注IT貧道,獲取高質(zhì)量博客內(nèi)容!

    2024年02月17日
    瀏覽(21)
  • 【大數(shù)據(jù)之Hive】十、Hive之DML(Data Manipulation Language)數(shù)據(jù)操作語言

    將文件導(dǎo)入Hive表中。 語法: 說明: (1)local:表示從本地加載數(shù)據(jù)到Hive表;否則從HDFS加載數(shù)據(jù)到HIve表。 (2)overwrite:表示覆蓋表中已有數(shù)據(jù),否則表示追加。 (3)partition:表示上傳到指定分區(qū),若目標(biāo)是分區(qū)表則需要指定分區(qū)。 如: 語法: 說明: (

    2024年02月09日
    瀏覽(22)
  • Hive——DML(Data Manipulation Language)數(shù)據(jù)操作語句用法詳解

    Hive——DML(Data Manipulation Language)數(shù)據(jù)操作語句用法詳解

    Load語句可將文件導(dǎo)入到Hive表中。 說明: local : 表示從本地加載數(shù)據(jù)到Hive表;否則從HDFS加載數(shù)據(jù)到Hive表 。 overwrite : 表示覆蓋表中已有數(shù)據(jù),否則表示追加。 partition : 表示上傳到指定分區(qū),若目標(biāo)是分區(qū)表,需指定分區(qū) 。 本地文件路徑: 執(zhí)行l(wèi)oad語句: load da

    2024年04月28日
    瀏覽(27)
  • 讀取hive表中的數(shù)據(jù)進(jìn)行數(shù)據(jù)可視化

    讀取hive表中的數(shù)據(jù)進(jìn)行數(shù)據(jù)可視化

    目錄 1,目的 2,hive中的操作 2.1創(chuàng)建數(shù)據(jù)庫 2.2,建表并導(dǎo)入數(shù)據(jù) 2.3,提取需要的數(shù)據(jù) 2.4,創(chuàng)建新的表并導(dǎo)入上一步所得數(shù)據(jù) 3,開發(fā)web項(xiàng)目 3.1,創(chuàng)建maven的web項(xiàng)目,并導(dǎo)入依賴 3.2,Util工具包 3.3,pojo層 3.4,dao層 3.5,service層 3.6,control層 3.7,配置web.xml 3.8,html頁面 4,頁面

    2023年04月25日
    瀏覽(18)
  • 大數(shù)據(jù)開發(fā)之Hive(基本概念、安裝、數(shù)據(jù)類型、DDL數(shù)據(jù)定義、DML數(shù)據(jù)操作)

    大數(shù)據(jù)開發(fā)之Hive(基本概念、安裝、數(shù)據(jù)類型、DDL數(shù)據(jù)定義、DML數(shù)據(jù)操作)

    1.1.1 Hive產(chǎn)生背景 HDFS來存儲(chǔ)海量的數(shù)據(jù)、MapReduce來對海量數(shù)據(jù)進(jìn)行分布式并行計(jì)算、Yarn來實(shí)現(xiàn)資源管理和作業(yè)調(diào)度。但是面對海量的數(shù)據(jù)和負(fù)責(zé)的業(yè)務(wù)邏輯,開發(fā)人員要編寫MR對數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析難度極大,所以就產(chǎn)生了Hive這個(gè)數(shù)倉工具。Hive可以幫助開發(fā)人員將SQL語句轉(zhuǎn)化

    2024年01月17日
    瀏覽(69)
  • Hive 常用DML操作

    Hive 常用DML操作

    本專欄案例數(shù)據(jù)集鏈接:?? https://download.csdn.net/download/shangjg03/88478038 ?LOCAL?代表從本地文件系統(tǒng)加載文件,省略則代表從?HDFS?上加載文件: 從本地文件系統(tǒng)加載文件時(shí),?`filepath`?可以是絕對路徑也可以是相對路徑?(建議使用絕對路徑); 從?HDFS?加載文件時(shí)候,`

    2024年02月07日
    瀏覽(23)
  • Hive 表 DML 操作

    Hive 表 DML 操作

    導(dǎo)入命令語法: Load 操作執(zhí)行 copy/move 命令把數(shù)據(jù)文件 copy/move 到 Hive 表位于 HDFS 上的目錄位置,并不會(huì)對數(shù)據(jù)內(nèi)容執(zhí)行格式檢查或格式轉(zhuǎn)換操作。 Load 命令語法為: LOAD DATA [LOCAL] INPATH \\\'filepath\\\' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=vall,partcol2=val2 …)]; 文件路徑 filepath 可以是

    2024年02月06日
    瀏覽(21)
  • [詳細(xì)步驟]Java將Excel文件導(dǎo)入到數(shù)據(jù)庫表中、并使用postman測試

    [詳細(xì)步驟]Java將Excel文件導(dǎo)入到數(shù)據(jù)庫表中、并使用postman測試

    1、Maven依賴添加 2、需要使用的類 controller:ExcelController entity:ExcelEntity(設(shè)計(jì)此實(shí)體類,需要與excel文件一一對應(yīng)) mapper:ExcelMapper service:ExcelServiceImpl、ExcelService util:ReadExcelUtil 3、代碼 4、postman測試 file(excel)的文件路徑需真實(shí)存在,下圖進(jìn)行設(shè)置路徑、我的excel放在了

    2024年02月07日
    瀏覽(18)
  • 【大數(shù)據(jù)】Hive 中的批量數(shù)據(jù)導(dǎo)入

    在博客【大數(shù)據(jù)】Hive 表中插入多條數(shù)據(jù) 中,我簡單介紹了幾種向 Hive 表中插入數(shù)據(jù)的方法。然而更多的時(shí)候,我們并不是一條數(shù)據(jù)一條數(shù)據(jù)的插入,而是以批量導(dǎo)入的方式。在本文中,我將較為全面地介紹幾種向 Hive 中批量導(dǎo)入數(shù)據(jù)的方法。 overwrite :表示覆蓋表中已有數(shù)

    2024年02月11日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包