操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    在使用Hive的過程中,導(dǎo)入數(shù)據(jù)是必不可少的步驟,不同的數(shù)據(jù)導(dǎo)入方式效率也不一樣,本文總結(jié)Hive四種不同的數(shù)據(jù)導(dǎo)入方式: - 從本地文件系統(tǒng)導(dǎo)入數(shù)據(jù) - 從HDFS中導(dǎo)入數(shù)據(jù) - 從其他的Hive表中導(dǎo)入數(shù)據(jù) - 創(chuàng)建表的同時導(dǎo)入數(shù)據(jù)

    使用導(dǎo)入數(shù)據(jù)時,會使用到into和 into兩個關(guān)鍵字,into是在當(dāng)前表追加數(shù)據(jù),而 into是刪除當(dāng)前表的數(shù)據(jù)然后在導(dǎo)入數(shù)據(jù)。

    從本地系統(tǒng)導(dǎo)入數(shù)據(jù)

    在Hive中創(chuàng)建表,該表中有兩個字段,一個是name一個是age。創(chuàng)建表的SQL語句如下:

    create table if not exists load_data_local(name string,age int)  
    row format delimited fields terminated by ' '  
    lines terminated by '\n';

    在本地文件系統(tǒng)中創(chuàng)建一個.txt的文件,然后往里面寫入數(shù)據(jù),數(shù)據(jù)之間用空格分隔。數(shù)據(jù)為:

    zhangsan 30
    lisi 50
    wangwu 60
    

    cvs導(dǎo)入_e語言 超級列表內(nèi)容閃_易語言超級列表框?qū)隿vs教程

    peiqi 6

    執(zhí)行l(wèi)oad data local '/home///.txt' into table ;命令,即可將本地系統(tǒng)中的文件的數(shù)據(jù)導(dǎo)入到Hive表中。

    推薦一本Hive書籍。我入門的時候都是看這本書。

    在使用從本地系統(tǒng)導(dǎo)入數(shù)據(jù)大Hive表中時,文件的路徑必須使用絕對路徑。

    有兩種方式驗證數(shù)據(jù)是否導(dǎo)入成功,一種是在Hive中執(zhí)行 * from 。另外一種是查看hdfs文件系統(tǒng)中的目錄下面是否有剛剛上傳的.txt文件,查看命令為: fs -ls /user/hive//.db/,結(jié)果為:

    18/10/07 02:37:11 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    Found 1 items
    -rwxr-xr-x   3 root supergroup         38 2018-10-07 02:24 /user/hive/warehouse/bigdata17.db/load_data_local/load_data_local.txt

    從HDFS中導(dǎo)入數(shù)據(jù)

    在Hive中創(chuàng)建表,表中有兩個字段,分別是name和age。創(chuàng)建表的SQL如下:

    cvs導(dǎo)入_易語言超級列表框?qū)隿vs教程_e語言 超級列表內(nèi)容閃

    create table if not exists load_data_hdfs(name string,age int)  
    row format delimited fields terminated by ' '  
    lines terminated by '\n';

    在本地文件系統(tǒng)創(chuàng)建文件.txt文件易語言超級列表框?qū)隿vs教程,然后往里面寫入數(shù)據(jù)。

    將.txt文件上傳到HDFS的data目錄下面,命令為: fs -put .txt /data

    在Hive中執(zhí)行命令: load data 'data/.txt' into table ; 即可將數(shù)據(jù)導(dǎo)入到Hive的表中。 從本地系統(tǒng)導(dǎo)入數(shù)據(jù)和從hdfs文件系統(tǒng)導(dǎo)入數(shù)據(jù)用的命令都是load data,但是從本地系統(tǒng)導(dǎo)入數(shù)據(jù)要加local關(guān)鍵字,如果不加則是從hdfs文件系統(tǒng)導(dǎo)入數(shù)據(jù)。

    從hdfs文件系統(tǒng)導(dǎo)入數(shù)據(jù)成功后,會把hdfs文件系統(tǒng)中的.txt文件刪除掉。

    從其他的Hive表中導(dǎo)入數(shù)據(jù)

    這種方式要求目標(biāo)表和源表都必須存在。 創(chuàng)建一個要導(dǎo)入數(shù)據(jù)的目標(biāo)表,SQL如下:

    create table if not exists load_data_local2(name string,age int) 
    

    易語言超級列表框?qū)隿vs教程_e語言 超級列表內(nèi)容閃_cvs導(dǎo)入

    row format delimited fields terminated by ' ' lines terminated by '\n';

    導(dǎo)入數(shù)據(jù)的SQL:

    insert into table load_data_local2 select * from load_data_local;

    這種數(shù)據(jù)導(dǎo)入方式也適用于分區(qū)表和分桶表的情況。本文只介紹導(dǎo)入分區(qū)表的情況,導(dǎo)入數(shù)據(jù)到分區(qū)表分為靜態(tài)分區(qū)和動態(tài)分區(qū)兩種方式。

    我們先創(chuàng)建一個分區(qū)表,SQL如下:

    create table if not exists load_data_partition(name string)  
    partitioned by(age int)  
    row format delimited fields terminated by ' '  
    lines terminated by '\n';

    e語言 超級列表內(nèi)容閃_易語言超級列表框?qū)隿vs教程_cvs導(dǎo)入

    將數(shù)據(jù)導(dǎo)入分區(qū)表必須先在Hive中執(zhí)行下面兩句語句:

    set hive.exec.dynamic.partition=true;
    set hive.exec.dynamic.partition.mode=nonstrict;

    靜態(tài)方式將表的數(shù)據(jù)導(dǎo)入到表的sql語句如下:

    insert into table load_data_partition partition(age=25) select name from load_data_local;

    這種方式必須顯示的指定分區(qū)值易語言超級列表框?qū)隿vs教程,如果分區(qū)有很多值,則必須執(zhí)行多條SQL,效率低下。

    動態(tài)方式將表的數(shù)據(jù)導(dǎo)入到表的sql語句如下:

    insert overwrite table load_data_partition partition select name,age from load_data_local;

    這種方式要注意目標(biāo)表的字段必須和查詢語句字段的順序和類型一致,特別是分區(qū)字段的類型要一致,否則會報錯。

    一張表有兩個以上的分區(qū)字段,如果同時使用靜態(tài)分區(qū)和動態(tài)分區(qū)導(dǎo)入數(shù)據(jù),靜態(tài)分區(qū)字段必須寫在動態(tài)分區(qū)字段之前。

    cvs導(dǎo)入_易語言超級列表框?qū)隿vs教程_e語言 超級列表內(nèi)容閃

    Hive還支持一條SQL語句中將數(shù)據(jù)插入多個表的功能,只需將from關(guān)鍵字前置即可:

    from load_data_local 
    insert overwrite table load_data_partition partition (age)
      select name,age
    insert overwrite table load_data_local3 
      select *

    上面的sql語句同時插入到表和表中。這種方式非常高效,對于大數(shù)據(jù)量并且要將數(shù)據(jù)插入到多個表的情況下,建議用這種方式。

    創(chuàng)建表的同時導(dǎo)入數(shù)據(jù)

    這種方式的創(chuàng)建表的表結(jié)構(gòu)來自于查詢語句的查詢字段。

    創(chuàng)建并將的數(shù)據(jù)導(dǎo)入到表中:

    create table load_data_local3 as select * from load_data_local;

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有