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

正文內容

hive語法和常用函數(文件)

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

下一頁面
 

【正文】 )。1. hivestocksexchange39。3. 如果不使用HAVING,那么就要使用子查詢:Java代碼,2. year,avg(price_close)stocks39。symbols2JION Hive支持典型的SQL JION連接,但只支持等值連接。stocksJION3. ...,dONAND39。*/stocksd= 2)、在多個表做JION連接時,如果ON字句中的jion keys都相同時,Hive會把多個table的jion連接編譯為一個MapReduce Job,否則一次jion連接會編譯成一個job。/*+JION3. WHEREAAPL39。1. hive=true。ORDER BY和SORT BYstocksBY4. SELECTsBYSELECTstocksCLUSTERname,salary2. WHERE轉換二進制類型的值 從Hive ,Hive開始支持二進制類型的值的轉換。(STRING)src。采樣查詢 有些時候,用戶并不想對一個大數據集的數據做全部的分析處理,對于這種情況,Hive提供了對bucket table的采樣查詢功能:Java代碼*1ONSELECTTABLESAMPLE(,FROM(SELECTASl1,39。source7. SORT 當然不是說有的查詢都會受惠于Hive索引。1. CREATE3. 5. (country 接著讓我們看看如何為該表的contry分區(qū)創(chuàng)建索引:Java代碼employees_indexemployees39。4. WITH5. IDXPROPERTIES=created_at39。some_time39。TABLEBY39。country 在本示例中,在employees上創(chuàng)建了名為employees_index的索引,索引數據存放在employees_index_table索引表中,WITH DEFERRED REBUILD表明創(chuàng)建一個空索引,可以在之后使用如下語句創(chuàng)建索引數據:Java代碼employees_index39。3. REBUILD。AS 39?,F在我們修改上一個索引示例為位圖索引:Java代碼employees_indexemployees39。4. WITH5. IDXPROPERTIES=created_at39。some_time39。TABLEBY39。countryONUS39。ON2. SHOWemployees。EXISTSemployees。Hive使用的是Hadoop的文件系統(tǒng)和文件格式,比如TEXTFILE,SEQUENCEFILE等。 對數據做壓縮,可以最大程度的減少文件所需的磁盤空間和網絡I/O的開銷,但對數據做壓縮和解壓縮總會增加CPU的開銷,故最好對那些I/O密集型的作業(yè)使用數據壓縮——這樣的作業(yè)會有富余的CPU資源,或者對那些磁盤空間不富裕的系統(tǒng)。過去經常使用的是LZO壓縮算法。 LZO和Snappy算法有更快的解壓縮速度,如果在關注數據解壓多于磁盤利用率和I/O開銷的場景中,它們都是不錯的選擇。Hadoop的會將大文件分割成HDFS block(默認64MB)大小的splits分片,每個分片對應一個Mapper程序。Snappy壓縮算法時首選。 HiveQL語句最終會被編譯成Hadoop的Mapreduce job,開啟Hive的中間數據壓縮功能,就是在MapReduce的shuffle階段對mapper產生的中間結果數據壓縮。controlsbetweenareanddeterminedvariables1. property3. value/valuewhetherproducedmutipleotherfrom*/description最Hive的數據文件壓縮1. property3. valuetrue/valuewhetheroftoorisanddeterminedvariablesSequence Files Sequence File是可分割的文件格式,支持Hadoop的block級壓縮。TABLESEQUENCEFILE。RECORD是默認選項,通常BLOCK會帶來較RECORD更好的壓縮性能。1. property3. valueBLOCK/valuejobpressedthebeBLOCK./description在當前的基于Hadoop系統(tǒng)的數據倉庫中,數據存儲格式是影響數據倉庫性能的一個重要因素。 在之前的Hadoop ecosystem中,我們已經知道了基于行存儲結構的TextFile和SequenceFile的文件格式,也學習過Hbase的面向列存儲的文件格式,對于Hive數據倉庫來說,他們都有各自的有點個缺點,今天我們來學習一個新的文件存儲格式——RCFile。 Hadoop block中的面向列存儲的示例圖 在面向列的文件存儲結構中,列A和列B存儲在同一列組,而列C和。面向列存儲的數據結構:我們先看一下Hadoop block中面向列存儲的示例:基于行存儲的數據結構:優(yōu)點是具備快速數據加載和動態(tài)負載的高適應能力,因為行存儲保證了相同記錄的所有域都在同一個集群節(jié)點;但是它不太滿足快速的查詢響應時間的要求,特別是在當查詢僅僅針對所有列中的少數幾列時,它就不能直接定位到所需列而跳過不需要的列,由于混合著不同數據值的列,行存儲不易獲得一個極高的壓縮比,行存儲不易獲得一個較高的壓縮比。 我們現在正在進入一個大數據時代,何為“大數據”?它不僅僅就是指海量的數據,也包括如何高效的存儲、管理和使用這寫數據。5. /propertyodpressed?SequenceFiles,howaredescriptionIf4. name/name2. Java代碼SORTED支持分割的文件可以并行的有多個mapper程序處理大數據文件,大多數文件不支持可分割是因為這些文件只能從頭開始讀。hadoopoptionspressionHivelocal/hdfsquery(finaldescriptionThis4. name/name2. 用戶可以通過節(jié)本來打開這個功能,同樣也可以在XML配置文件中將該功能配置成全局變量:Java代碼5. /propertyconfigarecodecjobHivefilesdescriptionThis4. name/name2. SnappyCodec比較適合在這種場景中編解碼器,該算法會帶來很好的壓縮性能和較低的CPU開銷:Java代碼hadoopoptionspressionmapredecebyintermediate 那么,為什么要使用不同的壓縮算法呢?它們都有什么區(qū)別呢?BZip2有最高的壓縮比但也會帶來更高的CPU開銷,Gzip較BZip2次之;如果基于磁盤利用率和I/O考慮,這兩個壓縮算法都是比較有吸引力的算法。 Hadoop默認支持Gzip和BZip2的解壓縮方式,包括原生的linux解壓縮庫。數據壓縮對I/O密集型的作業(yè)帶來大大的性能提升,但是如果用戶的jobs作業(yè)時CPU密集型的,那么在使用壓縮就會降低性能,這就要用戶對作業(yè)的類型做判斷,權衡是否要對數據做壓縮。 在Hive中對中間數據或最終數據數據做壓縮,是提高數據吞吐量和性能的一種手段。ONINDEXINDEXESFORMATTED=employeesINDEX 如果用戶在創(chuàng)建索引時指定WITH DEFERRED REBUILD關鍵字,那么開始時是一個空索引。重建索引name.39。indexed=me39。creator39。REBUILD2. ON1. CREATE Hive 。Bitmap位圖索引當然也可以使用第三方的實現類或其他的實現類。)2. PARTITION(countryTABLE1. ALTERname.39。indexed=me39。creator39。REBUILD2. ON1. CREATESTRING)。PARTITIONEDdeductionsARRAYSTRING,salarySTRING,employees首先,然我們再回顧一下employees東側表定義:Java代碼像RDBMS中的索引一樣,需要評估索引創(chuàng)建的是否合理,畢竟,索引需要更多的磁盤空間,并且創(chuàng)建維護索引也會有一定的代價。 Hive的索引功能現在還相對較晚,提供的選項還較少。loglog2UNION4. FROMlog139。3. 2. s。FROMOFnumbers1. hive 同樣也可以講STRING類型轉換成BINARY類型。DOUBLE))cast(cast(b 如果salary不能轉換成FLOAT類型的值的話,Hive會返回NULL。ASemployees;ASC,3. DISTRIBUTEstocksSELECT 這在大多數的情況下通常很有用。DESC。5. SORTFROM3. ASC, Hive提供了一種局部排序的功能——SORT BY,只對每個Reducer處理的局部數據排序,也是一個本地排序,這也就是說每個Reducer處理后的數據是排序的,但對整體而言是無序的。3. hiveSET=。 當然做Map端的Jion連接操作之前,必須要設置一些參數:Java代碼=dstocks*/AAPL39。3. WHEREJION/*+==stocks2. FROM7. ...6. 196205085. 196208074. 19621105dLEFT2. SELECT6. BY4. 39。exchange3. avgyear(ymd)1. hiveHAVINGBYsymbol39。2. year(ymd),avg(price_close)使用HAVING可以避免GROUP BY后的子查詢:Java代碼GROUPAAPL39。AND=SELECT,39。FIELDSvolumeFLOAT,8. 7. price_openSTRING,4. 2. NOT1. CREATAve.St.employees1. hiveAve.Hones%Chi%39。WHERESELECT4. 2002. John39。employees1. hiveManFLOAT)。]WHEREFROM]SELECT) == )的結果也返回了?!這就是浮點比較陷阱引發(fā)的。6. FredSmith3. John]WHEREname,salary,deductions[39。 看下面的HiveQL語句,本來只想要查詢Federal Taxes ,但是返回結果如下:Java代碼round(salary_minus_fed_taxes)e5. name,salary,deductions[FederalFROMcolomn39。Invalidsemanticround(salary_minus_fed_taxes)4. hive 該示例有一個問題,那就是salary * (1 deductions[Federal Taxes])分別在SELECT部分和WHERE部分都執(zhí)行了,性能上不是多優(yōu)化。Doe70000。deductions[Federalround(salaryemployeesTaxes])
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1