中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

0003-如何在CDH中使用LZO壓縮

發布時間:2020-06-25 21:37:19 來源:網絡 閱讀:455 作者:Hadoop實操 欄目:大數據

溫馨提示:要看高清無碼套圖,請使用手機打開并單擊圖片放大查看。

1.問題描述

CDH中默認不支持Lzo壓縮編碼,需要下載額外的Parcel包,才能讓Hadoop相關組件如HDFS,Hive,Spark支持Lzo編碼。

具體請參考:

https://www.cloudera.com/documentation/enterprise/latest/topics/cm\_mc\_gpl\_extras.html

https://www.cloudera.com/documentation/enterprise/latest/topics/cm\_ig\_install\_gpl\_extras.html#xd\_583c10bfdbd326ba-3ca24a24-13d80143249--7ec6

首先我在沒做額外配置的情況下,生成Lzo文件并讀取。我們在Hive中創建兩張表,test_table和test_table2,test_table是文本文件的表,test_table2是Lzo壓縮編碼的表。如下:

create external table test_table(s1 string,s2 string)row format delimited fields terminated by '#'location '/lilei/test_table'; insert into test_table values('1','a'),('2','b'); create external table test_table2(s1 string,s2 string)row format delimited fields terminated by '#'location '/lilei/test_table2';

通過beeline訪問Hive并執行上面命令:

0003-如何在CDH中使用LZO壓縮

0003-如何在CDH中使用LZO壓縮

0003-如何在CDH中使用LZO壓縮

查詢test_table中的數據:

0003-如何在CDH中使用LZO壓縮

將test_table中的數據插入到test_table2,并設置輸出文件為lzo壓縮:

set mapreduce.output.fileoutputformat.compress.codec=com.hadoop.compression.lzo.LzoCodec;set hive.exec.compress.output=true;set mapreduce.output.fileoutputformat.compress=true;set mapreduce.output.fileoutputformat.compress.type=BLOCK; insert overwrite table test_table2 select * from test_table;

在Hive中執行報錯如下:

Error:Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask (state=08S01,code=2)

0003-如何在CDH中使用LZO壓縮

通過Yarn的8088可以發現是因為找不到Lzo壓縮編碼:

Compression codec com.hadoop.compression.lzo.LzoCodec was not found.

0003-如何在CDH中使用LZO壓縮

2.解決辦法

通過Cloudera Manager的Parcel頁面配置Lzo的Parcel包地址:

0003-如何在CDH中使用LZO壓縮

注意:如果集群無法訪問公網,需要提前下載好Parcel包并發布到httpd

下載->分配->激活

0003-如何在CDH中使用LZO壓縮

0003-如何在CDH中使用LZO壓縮

0003-如何在CDH中使用LZO壓縮

0003-如何在CDH中使用LZO壓縮

0003-如何在CDH中使用LZO壓縮

配置HDFS的壓縮編碼加入Lzo:

com.hadoop.compression.lzo.LzoCodeccom.hadoop.compression.lzo.LzopCodec

0003-如何在CDH中使用LZO壓縮

0003-如何在CDH中使用LZO壓縮

保存更改,部署客戶端配置,重啟整個集群。

0003-如何在CDH中使用LZO壓縮

0003-如何在CDH中使用LZO壓縮

等待重啟成功:

0003-如何在CDH中使用LZO壓縮

再次插入數據到test_table2,設置為Lzo編碼格式:

set mapreduce.output.fileoutputformat.compress.codec=com.hadoop.compression.lzo.LzoCodec;set hive.exec.compress.output=true;set mapreduce.output.fileoutputformat.compress=true;set mapreduce.output.fileoutputformat.compress.type=BLOCK; insert overwrite table test_table2 select * from test_table;

插入成功:

0003-如何在CDH中使用LZO壓縮

2.1 Hive驗證

首先確認test_table2中的文件為Lzo格式:

0003-如何在CDH中使用LZO壓縮

在Hive的beeline中進行測試:

0003-如何在CDH中使用LZO壓縮

0003-如何在CDH中使用LZO壓縮

Hive基于Lzo壓縮文件運行正常。

2.2 Spark SQL驗證

var textFile=sc.textFile("hdfs://ip-172-31-8-141:8020/lilei/test_table2/000000_0.lzo_deflate") textFile.count() sqlContext.sql("select * from test_table2")

0003-如何在CDH中使用LZO壓縮

SparkSQL基于Lzo壓縮文件運行正常。

醉酒鞭名馬,少年多浮夸! 嶺南浣溪沙,嘔吐酒肆下!摯友不肯放,數據玩的花!

0003-如何在CDH中使用LZO壓縮

溫馨提示:要看高清無碼套圖,請使用手機打開并單擊圖片放大查看。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐安县| 广丰县| 辰溪县| 出国| 桐柏县| 深水埗区| 泸州市| 新昌县| 汕头市| 策勒县| 额济纳旗| 池州市| 夏津县| 华容县| 习水县| 瑞丽市| 雷州市| 临沂市| 南阳市| 前郭尔| 宜良县| 象山县| 太保市| 博罗县| 建德市| 紫金县| 全椒县| 邻水| 女性| 东阿县| 威远县| 泽普县| 来安县| 北安市| 泰安市| 沅陵县| 黔西县| 兴文县| 叙永县| 大余县| 涟源市|