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

正文內(nèi)容

hive語(yǔ)法和常用函數(shù)(編輯修改稿)

2025-06-11 23:06 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 。4. ToddJones{FederalTaxes:,StateTaxes:,Insurance:}5. BillKing{FederalTaxes:,StateTaxes:,Insurance:} 再看STRUCT類(lèi)型的查詢(xún),如“address”:Java代碼1. hiveSELECTname,addressFROMemployees。2. JohnDoe{Street:1MichignAve.,city:Chicago,State:IL,ZIP:60600}3. MarySmith{Street:100OntarioSt.,city:Chicago,State:IL,ZIP:60601}4. ToddJones{Street:200ChicagoAve.,city:OakPark,State:IL,ZIP:60700}5. BillKing{Street:300ObscureDr.,city:Obscuria,State:IL,ZIP:60100} 接下來(lái)我們?cè)倏慈绾尾榭醇闲詫傩宰侄沃械臄?shù)據(jù):Java代碼1. hiveSELECTname,subordinates[0],deductions[StateTaxes],FROMemployees。2. JohnDoeMarySmithChicago3. MarySmithBillKingChicago4. ToddJonesNULLOakPark5. BillKingNULLObscuria使用正則表達(dá)式查詢(xún)符合條件的列 在Hive查詢(xún)中,用戶(hù)可以使用正則表達(dá)式查詢(xún)符合條件的列,下面的實(shí)例中就是使用正則表達(dá)式的使用用例,可以查詢(xún)到symbol列和所有以“price”開(kāi)頭的列:Java代碼1. hiveSELECTsymbol,39。price.*39。FROMstocks。2. AAPL3. AAPL4. AAPL5. AAPL6. AAPL7. ...列計(jì)算 在HiveQL中,用戶(hù)不但可以從表中查詢(xún)某些列,還可以通過(guò)函數(shù)或數(shù)學(xué)表達(dá)式來(lái)計(jì)算列的值。例如,我們可以在employees表中查詢(xún)雇員的姓名,薪水,聯(lián)邦稅百分百及其他列的值:Java代碼1. hiveSELECTupper(name),salary,deductions[FederalTaxes],2. round(salary*(1deductions[FederalTaxes]))3. FROMemployees。4. JOHNDOE800005. MARYSMITH640006. TODDJONES595007. BILLKING51000 Hive是使用JAVA寫(xiě)的開(kāi)源軟件,在函數(shù)或數(shù)學(xué)表達(dá)式來(lái)計(jì)算列的值時(shí)類(lèi)型轉(zhuǎn)型和JAVA的轉(zhuǎn)型相同。聚合函數(shù) 要在HiveQL查詢(xún)中使用聚合函數(shù),舉例如下:Java代碼1. hiveSET=true。2. hibeSELECTcount(*),avg(salary)FROMemployees。 但是將Java代碼1. 設(shè)置為true會(huì)占用更多的內(nèi)存。LIMIT 一次典型的HiveQL查詢(xún)可能會(huì)返回所有符合條件的數(shù)據(jù)記錄,但是LIMIT關(guān)鍵字可以限制返回的記錄的條數(shù):Java代碼1. hiveSELECTupper(name),salary,deductions[FederalTaxes],2. round(salary*(1deductions[FederalTaxes]))3. FROMemployees4. LIMIT2。5. JOHNDOE800006. MARYSMITH64000給列奇別名Java代碼1. hiveSELECTupper(name),salary,deductions[FederalTaxes]AS2. fed_taxes,round(salary*(1deductions[FederalTaxes]))AS3. salary_minus_fed_taxes4. FROMemployees5. LIMIT2。6. JOHNDOE800007. MARYSMITH64000子查詢(xún) 給列起別名特別適合與子查詢(xún)中的列,讓我們將上個(gè)查詢(xún)示例修改為子查詢(xún)的使用用例:Java代碼1. hiveFROM(2. SELECTupper(name),salary,deductions[FederalTaxes]AS3. fed_taxes,round(salary*(1deductions[FederalTaxes]))4. ASsalary_minus_fed_taxes5. FROMemployees6. )e7. SELECT,8. WHERE70000。9. JOHNDOE80000CASE ... WHEN ... THEN語(yǔ)句 CASE ... WHEN ... THEN向標(biāo)準(zhǔn)的SQL語(yǔ)句中一樣使用在SELECT列中,對(duì)某一個(gè)列的返回值做判斷,示例如下:Java代碼1. hiveSELECTname,salary,2. CASE3. WHENsalaryTHEN39。low39。4. WHENsalary=ANDsalaryTHEN39。middle39。5. WHENsalary=ANDsalayTHEN39。high39。6. ELSE39。veryhigh39。7. ENDASbracketFROMemployees。8. JohnDoeveryhigh9. MarySmithhigh10. ToddJoneshigh11. BillKingmiddle12. BossManveryhigh13. FredFinanceveryhigh14. StcyAccountantmiddleWHERE過(guò)濾條件SELECT決定返回哪些數(shù)據(jù)列,而WHERE決定返回那些符合條件的數(shù)據(jù):Java代碼1. hiveSELECTname,salary,deductions[FederalTaxes],2. salary*(1deductions[FederalTaxes])3. FROMemployees4. WHEREround(salary*(1deductions[FederalTaxes]))5. 70000。6. ohnDoe 該示例有一個(gè)問(wèn)題,那就是salary * (1 deductions[Federal Taxes])分別在SELECT部分和WHERE部分都執(zhí)行了,性能上不是多優(yōu)化。那么,對(duì)salary * (1 deductions[Federal Taxes])使用別名能否消除這種沖突呢?,不幸的是這是無(wú)效的:Java代碼1. hiveSELECTname,salary,deductions[FederalTaxes],2. salary*(1deductions[FederalTaxes])AS3. salary_minus_fed_taxes4. FROMemployees5. WHEREround(salary_minus_fed_taxes)70000。6. FAILED:Errorinsemanticanalysis:Line4:13Invalidtablealiasor7. colomnreference39。salary_minus_fed_taxes39。:(possiblecolomnnames8. are:name,salary,subordinates,deductions,address) 如錯(cuò)誤信息中所說(shuō),用戶(hù)不能在WHERE部分中引用列的別名,那么我們是否可以使用其他辦法來(lái)消除這種沖突呢?答案是使用子查詢(xún):Java代碼1. hiveSELECTe.*FROM2. (SELECTname,salary,deductions[FederalTaxes]ASded,3. salary*(1deductions[FederalTaxes])AS4. salary_minus_fed_taxes5. FROMemployees)e6. WHEREround(salary_minus_fed_taxes)70000。浮點(diǎn)比較陷阱 在WHERE查詢(xún)條件中:在比較不同類(lèi)型的數(shù)值(如FLOAT vs DOUBLE)時(shí),會(huì)引發(fā)浮點(diǎn)比較陷阱。 看下面的HiveQL語(yǔ)句,本來(lái)只想要查詢(xún)Federal Taxes ,但是返回結(jié)果如下:Java代碼1. hiveSELECTname,salary,deductions[39。FederalTaxes39。]2. FROMemployeesWHEREdeductions[39。FederalTaxes39。]3. JohnDoe4. MarySmith5. BossMan6. FredFinance 我們發(fā)現(xiàn),為什不符合過(guò)濾條件(deductions(39。Federal Taxes39。) == )的結(jié)果也返回了?!這就是浮點(diǎn)比較陷阱引發(fā)的。 那么如何來(lái)避免這個(gè)陷阱呢?:Java代碼1. hiveSELECTname,salary,deductions[39。FederalTaxes39。]2. FROMemployees3. WHEREdeductions[39。FederalTaxes39。]cast(ASFLOAT)。4. BossMan5. FredFinance
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1