freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

hive語法和常用函數(shù)-預(yù)覽頁

2025-06-08 23:06 上一頁面

下一頁面
 

【正文】 。39。3. SELECTse=ANDOR39。 然而,如果staged_employees中數(shù)據(jù)特別大,有可能你需要執(zhí)行很多次這樣的插入查詢導(dǎo)入數(shù)據(jù)的話,比如說美國部分的數(shù)據(jù)就要執(zhí)行65次之多。staged_employeesINTO(country,state)SELECT=ANDOR39。INTO(country,state)SELECT=ANDCA39。INTO(country,state)SELECT=ANDIL39。 這種INSERT語法也可以一次插入多個表。 將上面的靜態(tài)分區(qū)作如下修改,就變成動態(tài)分區(qū)數(shù)據(jù)導(dǎo)入的示例:Java代碼TABLE2. PARTITION...,seemployees(country,state)39。要注意的是,必須要把靜態(tài)分區(qū)的key放在動態(tài)分區(qū)的key之前。=nonstrict。set4. OVERWRITEFROMsalary,address39。OVERWRITEtmp/ca_employees39。name,salary,address39。 和加載數(shù)據(jù)一樣,用戶同樣可以在一個語句中將數(shù)據(jù)導(dǎo)出到多個文件夾:Java代碼seDIRECTORY*39。39。5. FROMUS39。=39。6. INSERT/tmp/IL_employees39。IL39。1. CREATEsalaryARRAYSTRING,5. COMMENTSTRING,state SELECT查詢:Java代碼name,salary1. hiveemployees 下面我們來看如何查詢employees表中的集合類型的數(shù)據(jù)。SELECT[Mary3. Mary[BillJonesFROM2. John{Federal3. MaryTaxes:,Insurance:}{Federal5. BillTaxes:,State1. hiveemployees。DoeMichignSmithChicago5. BillObscure1. hiveFROM2. John3. MaryKing4. Todd5. BillNULL使用正則表達式查詢符合條件的列 在Hive查詢中,用戶可以使用正則表達式查詢符合條件的列,下面的實例中就是使用正則表達式的使用用例,可以查詢到symbol列和所有以“price”開頭的列:Java代碼symbol,39。stocks。4. AAPL5. AAPL例如,我們可以在employees表中查詢雇員的姓名,薪水,聯(lián)邦稅百分百及其他列的值:Java代碼upper(name),salary,deductions[Federalround(salarydeductions[Federal3. 6. TODD59500 Hive是使用JAVA寫的開源軟件,在函數(shù)或數(shù)學(xué)表達式來計算列的值時類型轉(zhuǎn)型和JAVA的轉(zhuǎn)型相同。1. hiveFROMSELECT2. 2。DOESMITH640001. hiveAS*Taxes]))salary_minus_fed_taxesemployeesLIMIT6. JOHN7. MARY2. upper(name),salary,deductions[Federal3. *Taxes]))FROM)SELECTWHEREDOECASETHENsalarysalary39。5. =high39。high39。bracketmiddle13. Fredhigh1. hivesalarydeductions[FederalFROMWHERE6. ohn1. Taxes],(1ASemployeesWHERE70000。in4:13orreference(possible 如錯誤信息中所說,用戶不能在WHERE部分中引用列的別名,那么我們是否可以使用其他辦法來消除這種沖突呢?答案是使用子查詢:Java代碼e.*(SELECTded,(1ASemployees)WHERE70000。浮點比較陷阱 在WHERE查詢條件中:在比較不同類型的數(shù)值(如FLOAT vs DOUBLE)時,會引發(fā)浮點比較陷阱。SELECT]employeesTaxes39。4. MaryFederal Taxes39。1. hiveTaxes39。2. 3. Taxes39。AS4. BossFinanceFROMLIKEAve.hiveemployees39。6. ToddChicagoFROMWHERE.*(Chicago|Ontario).*39。SmithOntarioJonesChicagoIFSTRING,symbolFLOAT,price_highINT,price_adj_close11. DELIMITED39。12. /data/stocks39。1. hivestocksexchange39。3. HAVING Hive中的HAVING關(guān)鍵字和傳統(tǒng)SQL中的概念相同,是對分組后的結(jié)果再次過濾。SELECT=ANDAAPL39。GROUP4. FROM(SELECTASWHERENASDAQ39。=GROUP5. Hive中的內(nèi)連接、左外連接、右外連接和全外連接和標(biāo)準(zhǔn)的SQL中的連接有相同的概念;但是在Hive中沒有IN、EXISTS關(guān)鍵字的使用,取代這兩個關(guān)鍵字的功能的是LEFT SEMIJION,也是對Inner JION的性能上的加強優(yōu)化。1. hivesdividends==IBMIBMIBMJION優(yōu)化 1)、將小表放在JION的左邊,Hive會將JION左邊的小表中的數(shù)據(jù)緩存起來,然后流式(stream)處理最后的表中的數(shù)據(jù),這可以提高HiveQL查詢的性能:Java代碼JION3. WHEREAAPL39。1. SELECT,sONAND39。 3)、MapSide Jion:Hive提供Map端的jion連接操作,默認情況下是不支持該操作的,用戶必須強制告知查詢優(yōu)化器做Map端的Jion連接操作,這可以避免對結(jié)果進行大規(guī)模的笛卡爾集的操作,也可以減少數(shù)據(jù)的I/O流量:Java代碼MAPJION(s)2. FROMdividend==SET2. hiveORDER BY和SQL方言中的order by 語句很像,會對所有的結(jié)果集做整體的排序操作,這就意味著所有的數(shù)據(jù)是通過一個Reducer處理的;對處理非常大的數(shù)據(jù)及來說,這會執(zhí)行非常長的處理時間。1. SELECTs,ASC,DISTRIBUTE BY 我們都知道,MapReduce模型是默認是通過hashPartitioner()函數(shù)將key/value的keys的hash值來數(shù)據(jù)分發(fā)到對應(yīng)的Reducers,DISTRIBUTE BY可以讓用戶來控制如何將key/value對分發(fā)到哪個Reducer。1. hiveFROM2. 需要注意的是,DISTRIBUTE BY通常要和SORT BY使用,并且DISTRIBUTE BY必須使用在SORT BY之前。CLUSTER BY關(guān)鍵字可以起到DISTRIBUTE BY和SORT BY相同的功能:Java代碼,sBY類型轉(zhuǎn)化(Casting) 之前我們已經(jīng)學(xué)習(xí)過數(shù)據(jù)類型轉(zhuǎn)化的示例,如將一個數(shù)值轉(zhuǎn)化為FLOAT類型,轉(zhuǎn)換語法為cast(value AS TYPE),比如:Java代碼FROMcast(salary將BINARY的值b轉(zhuǎn)換成STRING:Java代碼*ASFROMOUTnumber)s。Block數(shù)據(jù)塊數(shù)據(jù)采樣(Block Sampling) Hive還提供了另外一種采樣的語法——Block數(shù)據(jù)塊數(shù)據(jù)采樣,用戶可以一個數(shù)據(jù)塊的數(shù)據(jù)行(rows)采樣:Java代碼*PERCENT)UNION ALL UNION ALL可以將兩個或多個子查詢的結(jié)果集合并到一塊兒,這就要就要合并的結(jié)果集必須要有相同的列數(shù),并且相對應(yīng)的列要有相匹配的類型:Java代碼,39。source5. log239。FROM6. )BYHive提供有限的索引功能,這不像傳統(tǒng)的關(guān)系型數(shù)據(jù)庫那樣有“鍵(key)”的概念,用戶可以在某些列上創(chuàng)建索引來加速某些操作,給一個表創(chuàng)建的索引數(shù)據(jù)被保存在另外的表中。用戶可以使用EXPLAIN語法來分析HiveQL語句是否可以使用索引來提升用戶查詢的性能。創(chuàng)建索引 現(xiàn)在讓我們來為分區(qū)表employees創(chuàng)建一個索引。TABLE2. 4. 6. 7. )STRING,state(country)39。DEFERRED(39。39。)employees_index_table(country,name)EmployeesandONUS39。39。(country)BITMAP39。DEFERRED(39。39。)employees_index_table(country,name)Employeesand1. ALTERTABLE2. PARTITION(country) Hive沒有提供一個內(nèi)置的在數(shù)據(jù)變更時自動觸發(fā)創(chuàng)建索引的機制,故用戶需要自己通過ALTER INDEX語句來創(chuàng)建索引;另外,重建索引操作是一個原子操作,因此當(dāng)rebuild失敗時,已構(gòu)建的索引也無法使用。1. SHOWemployees。FORMATTED1. DROPemployees_index Hadoop jobs作業(yè),往往是I/O密集型的,而非CPU集型的。LZO和Snappy在壓縮數(shù)據(jù)上大致相當(dāng),但Snappy算法在解壓速度上要較LZO更快。在這幾個壓縮算法中,只有BZip2和LZO提供block級的壓縮,而Gzip和Snappy則不支持。在這個階段,優(yōu)先選擇一個低CPU開銷的算法。1. property3. valuetrue/valuewhetherproducedmutipleotherfrom*/description 具體的壓縮算法參數(shù)配置,這是一個hadoop的配置參數(shù),可以在Hadoop的$HADOOP_HOME/conf/$HADOOP_HOME/conf/。intermediatebymapredecepressionoptionshadoop 用戶可以對最終生成的Hive表的數(shù)據(jù)通常也需要壓縮。theaaaotherfrom*/description ,然后選擇一個合適的編解碼器,如選擇SnappyCodec:Java代碼2. name/name4. /property 壓縮數(shù)據(jù)文件可以節(jié)省磁盤空間,但是在Hadoop中有些原生壓縮文件的缺點之一就是不支持分割。這樣,我們就可以將Hive表存儲定義成SEQUENCEFILE:Java代碼a_sequence_file_table同很多其他壓縮選項一樣,這個壓縮類型參數(shù)不是Hive特有的,需要在Hadoop中或在每一個Hive查詢腳本中2設(shè)置。outputsasbeoneFacebook于是提出了集行存儲和列存儲的優(yōu)點于一身的RCFile文件存儲格式,據(jù)說當(dāng)前在Facebook公司內(nèi)部,其數(shù)據(jù)倉庫的文件存儲格式都是RCFile,另外盛大內(nèi)部的數(shù)據(jù)倉庫使用的也是RCFile文件存儲格式。 首先,我們先來探討一下基于行的存儲和面向列的存儲的優(yōu)缺點: Hadoop block中的基于行存儲的示例圖1
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1