CentOS HDFS數(shù)據(jù)壓縮方法

CentOS HDFS數(shù)據(jù)壓縮方法

centos系統(tǒng)里,利用hadoop分布式文件系統(tǒng)(hdfs)實施數(shù)據(jù)壓縮可按照以下流程開展:

  1. 安裝Hadoop:首先要確認(rèn)Hadoop已在CentOS完成安裝。若未安裝,建議查閱Hadoop官方指南完成安裝。

  2. 設(shè)置Hadoop兼容壓縮:編輯Hadoop的配置文件 core-site.xml 和 hdfs-site.xml,激活壓縮功能并指定壓縮算法

    core-site.xml 示例配置如下:

     <configuration><property><name>io.compression.codecs</name><value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec</value></property></configuration>

    hdfs-site.xml 示例配置如下:

     <configuration><property><name>dfs.replication</name><value>3</value></property><property><name>dfs.namenode.handler.count</name><value>100</value></property><property><name>dfs.datanode.handler.count</name><value>100</value></property><property><name>dfs.blocksize</name><value>134217728</value></property><property><name>dfs.namenode.datanode.registration.ip-hostname-check</name><value>false</value></property><property><name>io.compression.codec.snappy.class</name><value>org.apache.hadoop.io.compress.SnappyCodec</value></property></configuration>
  3. 開啟Hadoop集群服務(wù):保證Hadoop集群處于啟動狀態(tài)且運作無誤。

     start-dfs.sh  start-yarn.sh
  4. 借助Hadoop指令行工具執(zhí)行壓縮:運用Hadoop指令行工具把本地文件上傳至HDFS同時實現(xiàn)壓縮。

     hadoop fs -copyFromLocal -p /local/path/to/file.txt /hdfs/path/to/destination/
  5. mapreduce任務(wù)中應(yīng)用壓縮:如果正在開發(fā)MapReduce程序,可在任務(wù)配置環(huán)節(jié)啟用壓縮。

    Mapper輸出壓縮

     Configuration conf = new Configuration();  conf.set("mapreduce.map.output.compress", "true");  conf.set("mapreduce.map.output.compress.codec", "org.apache.hadoop.io.compress.SnappyCodec");  Job job = Job.getInstance(conf);

    Reducer輸出壓縮

     Configuration conf = new Configuration();  conf.set("mapreduce.output.fileoutputformat.compress", "true");  conf.set("mapreduce.output.fileoutputformat.compress.codec", "org.apache.hadoop.io.compress.SnappyCodec");  Job job = Job.getInstance(conf);
  6. 核實壓縮成效:通過HDFS指令行工具驗證文件是否已被壓縮。

     hadoop fs -ls /hdfs/path/to/destination/  hadoop fs -getfile /hdfs/path/to/destination/file.txt file.txt

依照上述步驟,你就能在CentOS系統(tǒng)中借助HDFS達(dá)成數(shù)據(jù)壓縮。依據(jù)實際需求挑選適合的壓縮算法,并在MapReduce任務(wù)中做相應(yīng)調(diào)整。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊12 分享