成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hive支持的文件格式與壓縮算法

大數據 算法
只要是配置了正確的文件類型和壓縮類型(比如Textfile+Gzip、SequenceFile+Snappy等),Hive都可以按預期讀取并解析數據,提供SQL功能。

[[194194]]

概述

只要是配置了正確的文件類型和壓縮類型(比如Textfile+Gzip、SequenceFile+Snappy等),Hive都可以按預期讀取并解析數據,提供SQL功能。

SequenceFile本身的結構已經設計了內容進行壓縮。所以對于SequenceFile文件的壓縮,并不是先生成SequenceFile文件,再對文件進行壓縮。而是生成SequenceFile文件時,對其中的內容字段進行壓縮。最終壓縮后,對外仍體現為一個SequenceFile。

RCFile、ORCFile、Parquet、Avro對于壓縮的處理方式與SequenceFile相同。

文件格式

  1. Textfile
  2. SequenceFile
  3. RCFile
  4. ORCFile
  5. Parquet
  6. Avro

壓縮算法的編解碼器

TEXTFILE

  1. --創建一個表,格式為文本文件: 
  2. CREATE EXTERNAL TABLE student_text (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED  
  4.     FIELDS TERMINATED BY ','  
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS TEXTFILE; 
  7. --導入數據到此表中,將啟動MR任務 
  8. INSERT OVERWRITE TABLE student_text SELECT * FROM student; 

可查看到生成的數據文件的格式為非壓縮的文本文件:

  1. hdfs dfs -cat /user/hive/warehouse/student_text/000000_0 
  2.  
  3. 1001810081,cheyo 
  4. 1001810082,pku 
  5. 1001810083,rocky 
  6. 1001810084,stephen 
  7. 2002820081,sql 
  8. 2002820082,hello 
  9. 2002820083,hijj 
  10. 3001810081,hhhhhhh 
  11. 3001810082,abbbbbb 

文本文件,DEFLATE壓縮

  1. --創建一個表,格式為文件文件: 
  2. CREATE TABLE student_text_def (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS TEXTFILE; 
  7. --設置壓縮類型為Gzip壓縮 
  8. SET hive.exec.compress.output=true
  9. SET mapred.output.compress=true
  10. SET mapred.output.compression.codec=org.apache.hadoop.io.compress.DefaultCodec;  
  11. --導入數據: 
  12. INSERT OVERWRITE TABLE student_text_def SELECT * FROM student; 
  13. --查看數據 
  14. SELECT * FROM student_text_def; 

查看數據文件,可看到數據文件為多個.deflate文件。

  1. hdfs dfs -ls /user/hive/warehouse/student_text_def/ 
  2. -rw-r--r--   2015-09-16 12:48 /user/hive/warehouse/student_text_def/000000_0.deflate 
  3. -rw-r--r--   2015-09-16 12:48 /user/hive/warehouse/student_text_def/000001_0.deflate 
  4. -rw-r--r--   2015-09-16 12:48 /user/hive/warehouse/student_text_def/000002_0.deflate 

文本文件,Gzip壓縮

  1. --創建一個表,格式為文件文件: 
  2. CREATE TABLE student_text_gzip (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS TEXTFILE; 
  7. --設置壓縮類型為Gzip壓縮 
  8. SET hive.exec.compress.output=true
  9. SET mapred.output.compress=true
  10. SET mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec; 
  11. --導入數據: 
  12. INSERT OVERWRITE TABLE student_text_gzip SELECT * FROM student; 
  13. --查看數據 
  14. SELECT * FROM student_text_gzip; 

查看數據文件,可看到數據文件為多個.gz文件。解開.gz文件,可以看到明文文本:

  1. hdfs dfs -ls /user/hive/warehouse/student_text_gzip/ 
  2. -rw-r--r--  2015-09-15 10:03 /user/hive/warehouse/student_text_gzip/000000_0.gz 
  3. -rw-r--r--  2015-09-15 10:03 /user/hive/warehouse/student_text_gzip/000001_0.gz 
  4. -rw-r--r--  2015-09-15 10:03 /user/hive/warehouse/student_text_gzip/000002_0.gz 

文本文件,Bzip2壓縮

  1. --創建一個表,格式為文件文件: 
  2. CREATE TABLE student_text_bzip2 (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS TEXTFILE; 
  7. --設置壓縮類型為Bzip2壓縮: 
  8. SET hive.exec.compress.output=true
  9. SET mapred.output.compress=true
  10. SET mapred.output.compression.codec=org.apache.hadoop.io.compress.BZip2Codec; 
  11. --導入數據 
  12. INSERT OVERWRITE TABLE student_text_bzip2 SELECT * FROM student; 
  13. --查看數據: 
  14. SELECT * FROM student_text_bzip2; 

查看數據文件,可看到數據文件為多個.bz2文件。解開.bz2文件,可以看到明文文本:

  1. hdfs dfs -ls /user/hive/warehouse/student_text_bzip2 
  2. -rw-r--r--  2015-09-15 10:09 /user/hive/warehouse/student_text_bzip2/000000_0.bz2 
  3. -rw-r--r--  2015-09-15 10:09 /user/hive/warehouse/student_text_bzip2/000001_0.bz2 
  4. -rw-r--r--  2015-09-15 10:09 /user/hive/warehouse/student_text_bzip2/000002_0.bz2 

文本文件,lzo壓縮

  1. --創建表 
  2. CREATE TABLE student_text_lzo (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS TEXTFILE; 
  7. --設置為LZO壓縮 
  8. SET hive.exec.compress.output=true
  9. SET mapred.output.compress=true
  10. SET mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec; 
  11. --導入數據 
  12. INSERT OVERWRITE TABLE student_text_lzo SELECT * FROM student; 
  13. --查詢數據 
  14. SELECT * FROM student_text_lzo; 

查看數據文件,可看到數據文件為多個.lzo壓縮。解開.lzo文件,可以看到明文文本。

未實測,需要安裝lzop庫

文本文件,lz4壓縮

  1. --創建表 
  2. CREATE TABLE student_text_lz4 (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS TEXTFILE; 
  7. --設置為LZ4壓縮 
  8. SET hive.exec.compress.output=true
  9. SET mapred.output.compress=true
  10. SET mapred.output.compression.codec=org.apache.hadoop.io.compress.Lz4Codec; 
  11. --導入數據 
  12. INSERT OVERWRITE TABLE student_text_lz4 SELECT * FROM student; 

查看數據文件,可看到數據文件為多個.lz4壓縮。使用cat查看.lz4文件,可以看到是壓縮后的文本。

  1. hdfs dfs -ls /user/hive/warehouse/student_text_lz4 
  2. -rw-r--r-- 2015-09-16 12:06 /user/hive/warehouse/student_text_lz4/000000_0.lz4 
  3. -rw-r--r-- 2015-09-16 12:06 /user/hive/warehouse/student_text_lz4/000001_0.lz4 
  4. -rw-r--r-- 2015-09-16 12:06 /user/hive/warehouse/student_text_lz4/000002_0.lz4 

文本文件,Snappy壓縮

  1. --創建表 
  2. CREATE TABLE student_text_snappy (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS TEXTFILE; 
  7. --設置壓縮 
  8. SET hive.exec.compress.output=true
  9. SET mapred.compress.map.output=true
  10. SET mapred.output.compress=true
  11. SET mapred.output.compression=org.apache.hadoop.io.compress.SnappyCodec; 
  12. SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec; 
  13. SET io.compression.codecs=org.apache.hadoop.io.compress.SnappyCodec; 
  14. --導入數據 
  15. INSERT OVERWRITE TABLE student_text_snappy SELECT * FROM student; 
  16. --查詢數據 
  17. SELECT * FROM student_text_snappy; 

查看數據文件,可看到數據文件為多個.snappy壓縮文件。使用cat查看.snappy文件,可以看到是壓縮后的文本:

  1. hdfs dfs -ls /user/hive/warehouse/student_text_snappy 
  2. Found 3 items 
  3. -rw-r--r--   2015-09-15 16:42 /user/hive/warehouse/student_text_snappy/000000_0.snappy 
  4. -rw-r--r--   2015-09-15 16:42 /user/hive/warehouse/student_text_snappy/000001_0.snappy 
  5. -rw-r--r--   2015-09-15 16:42 /user/hive/warehouse/student_text_snappy/000002_0.snappy 

SEQUENCEFILE

Sequence文件,DEFLATE壓縮

  1. --創建一個表,格式為文件文件: 
  2. CREATE TABLE student_seq_def (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS SEQUENCEFILE; 
  7. --設置壓縮類型為Gzip壓縮 
  8. SET hive.exec.compress.output=true
  9. SET mapred.output.compress=true
  10. SET mapred.output.compression.codec=org.apache.hadoop.io.compress.DefaultCodec;  
  11. --導入數據: 
  12. INSERT OVERWRITE TABLE student_seq_def SELECT * FROM student; 
  13. --查看數據 
  14. SELECT * FROM student_seq_def; 

查看數據文件,是一個密文的文件.

  1. hdfs dfs -ls /user/hive/warehouse/student_seq_def/ 
  2. -rw-r--r--  /user/hive/warehouse/student_seq_def/000000_0 

Sequence文件,Gzip壓縮

  1. --創建一個表,格式為文件文件: 
  2. CREATE TABLE student_seq_gzip (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS SEQUENCEFILE; 
  7. --設置壓縮類型為Gzip壓縮 
  8. SET hive.exec.compress.output=true
  9. SET mapred.output.compress=true
  10. SET mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec; 
  11. --導入數據: 
  12. INSERT OVERWRITE TABLE student_seq_gzip SELECT * FROM student; 
  13. --查看數據 
  14. SELECT * FROM student_seq_gzip; 

查看數據文件,是一個密文的文件,無法通過gzip解壓:

  1. hdfs dfs -ls /user/hive/warehouse/student_seq_gzip/ 
  2. -rw-r--r--  /user/hive/warehouse/student_seq_gzip/000000_0 

RCFILE

RCFILE,Gzip壓縮

  1. CREATE TABLE student_rcfile_gzip (id STRING, name STRING) 
  2. ROW FORMAT DELIMITED 
  3.     FIELDS TERMINATED BY ',' 
  4.     LINES TERMINATED BY '\n' 
  5. STORED AS RCFILE; 
  6.  
  7. --設置壓縮類型為Gzip壓縮 
  8. SET hive.exec.compress.output=true
  9. SET mapred.output.compress=true
  10. SET mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec; 
  11. --導入數據: 
  12. INSERT OVERWRITE TABLE student_rcfile_gzip SELECT id,name FROM student; 
  13. --查看數據 
  14. SELECT * FROM student_rcfile_gzip; 

ORCFile

ORCFile有自己的參數設置壓縮格式,一般不使用上述Hive參數設置壓縮參數。

ORCFile,ZLIB壓縮

  1. --創建表 
  2. CREATE TABLE student_orcfile_zlib (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS ORCFILE TBLPROPERTIES ("orc.compress"="ZLIB"); 
  7.  
  8. --導入數據 
  9. INSERT OVERWRITE TABLE student_orcfile_zlib SELECT id,name FROM student; 
  10. --查詢數據 
  11. SELECT * FROM student_orcfile_zlib; 

ORCFILE,Snappy壓縮

  1. --創建表 
  2. CREATE TABLE student_orcfile_snappy2 (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS ORCFILE TBLPROPERTIES ("orc.compress"="SNAPPY"); 
  7.  
  8. --導入數據 
  9. INSERT OVERWRITE TABLE student_orcfile_snappy2 SELECT id,name FROM student; 
  10. --查詢數據 
  11. SELECT * FROM student_orcfile_snappy2; 

一般不使用下述方式。下述方式壓縮后,結果與上述同類型壓縮(SNAPPY)不同。具體原因待進一步研究。

  1. --創建表 
  2. CREATE TABLE student_orcfile_snappy (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS ORCFILE; 
  7. --設置壓縮 
  8. SET hive.exec.compress.output=true
  9. SET mapred.compress.map.output=true
  10. SET mapred.output.compress=true
  11. SET mapred.output.compression=org.apache.hadoop.io.compress.SnappyCodec; 
  12. SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec; 
  13. SET io.compression.codecs=org.apache.hadoop.io.compress.SnappyCodec; 
  14. --導入數據 
  15. INSERT OVERWRITE TABLE student_orcfile_snappy SELECT id,name FROM student; 
  16. --查詢數據 
  17. SELECT * FROM student_orcfile_snappy; 

Parquet

Parquet,Snappy壓縮

  1. --創建表 
  2. CREATE TABLE student_parquet_snappy (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS PARQUET; 
  7. --設置壓縮 
  8. SET hive.exec.compress.output=true
  9. SET mapred.compress.map.output=true
  10. SET mapred.output.compress=true
  11. SET mapred.output.compression=org.apache.hadoop.io.compress.SnappyCodec; 
  12. SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec; 
  13. SET io.compression.codecs=org.apache.hadoop.io.compress.SnappyCodec; 
  14. --導入數據 
  15. INSERT OVERWRITE TABLE student_parquet_snappy SELECT id,name FROM student; 
  16. --查詢數據 
  17. SELECT * FROM student_parquet_snappy; 

Avro

Avro,Snappy壓縮

  1. --創建表 
  2. CREATE TABLE student_avro_snappy (id STRING, name STRING) 
  3. ROW FORMAT DELIMITED 
  4.     FIELDS TERMINATED BY ',' 
  5.     LINES TERMINATED BY '\n' 
  6. STORED AS AVRO; 
  7. --設置壓縮 
  8. SET hive.exec.compress.output=true
  9. SET mapred.compress.map.output=true
  10. SET mapred.output.compress=true
  11. SET mapred.output.compression=org.apache.hadoop.io.compress.SnappyCodec; 
  12. SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec; 
  13. SET io.compression.codecs=org.apache.hadoop.io.compress.SnappyCodec; 
  14. --導入數據 
  15. INSERT OVERWRITE TABLE student_avro_snappy SELECT id,name FROM student; 
  16. --查詢數據 
  17. SELECT * FROM student_avro_snappy; 
責任編輯:武曉燕 來源: oschina博客
相關推薦

2010-08-02 14:19:28

DB2數據庫

2010-08-02 14:14:13

DB2數據庫

2012-05-29 09:06:32

Hadoop文件格式

2012-05-29 09:48:21

Hadoop

2016-12-01 14:47:20

2017-08-25 17:41:17

Paradox數據文件格式

2010-08-03 15:40:30

NFS文件格式

2011-03-03 10:48:36

DB2數據庫外部文件

2010-07-28 14:26:37

DB2支持

2023-11-02 09:54:21

ODT文件

2021-09-29 15:52:26

計算機配置文件語言

2010-07-27 13:34:08

DB2數據庫

2010-09-06 12:44:24

DB2數據庫

2011-05-26 10:52:41

DB2數據庫

2010-08-26 16:26:19

DB2數據庫外部文件

2010-08-02 14:09:57

DB2數據庫

2010-07-27 15:20:01

DB2數據庫

2022-04-22 17:07:21

MIDI傳輸協議音樂技術

2010-05-07 11:38:55

Oracle DB2

2009-07-20 09:44:31

DB2外部文件格式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.亚洲免费| 精品欧美一区二区三区久久久 | 一区在线观看视频 | 国产99精品| 91pao对白在线播放 | 色综合天天综合网国产成人网 | 国产伦精品一区二区三区高清 | 一区二区激情 | 青青草原精品99久久精品66 | 95国产精品 | 91精品国产综合久久香蕉麻豆 | 日本a级大片 | 国产福利91精品 | wwww.8888久久爱站网 | 午夜激情影院 | 国产精品一区二区三区99 | 日韩欧美国产一区二区三区 | 天堂色 | 国产在线视频一区二区 | 欧美成人二区 | 蜜桃在线视频 | 欧美视频在线播放 | 欧美大片一区 | 91精品国产日韩91久久久久久 | 欧美一区二区三区在线视频 | 一级毛片大全免费播放 | 免费毛片网 | 射欧美| 日韩av免费看 | 激情网站在线 | 国产精品久久亚洲 | 男女啪啪高潮无遮挡免费动态 | 欧美一区二区三区精品免费 | 中文字幕一区二区三区不卡 | 视频在线一区二区 | 国产精品91视频 | 天天人人精品 | 国产精品高清一区二区三区 | www.狠狠操 | 国产精品视频在线观看 | 免费视频二区 |