成人免费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技術棧公眾號

主站蜘蛛池模板: 成人一区二区在线 | 中文字字幕一区二区三区四区五区 | 日韩a| 伊人久久精品一区二区三区 | www.99re5.com | 欧美成人免费 | 欧美三级电影在线播放 | 久久精品欧美一区二区三区不卡 | 在线观看亚洲一区二区 | 日韩视频国产 | 亚洲欧美高清 | 免费在线观看一区二区三区 | 日韩免费 | 久久久久久国产 | 一级毛片视频在线 | 在线观看国产视频 | 日韩成人高清 | 99re热精品视频国产免费 | 亚洲国产aⅴ精品 | 国产精品a免费一区久久电影 | 色综合天天综合网国产成人网 | 亚洲福利免费 | 欧美日韩中文字幕在线 | 国产精品www | 成人国产在线视频 | 正在播放亚洲 | 日韩成人影院在线观看 | 一区二区三区av夏目彩春 | 狠狠躁18三区二区一区 | 久久久成人一区二区免费影院 | 欧美黄色片在线观看 | 九色在线观看 | 国产特级毛片aaaaaa喷潮 | 日韩91在线 | 成人免费激情视频 | 精品久久电影 | 国产视频中文字幕 | 日韩视频在线免费观看 | 在线中文字幕视频 | 久久精彩视频 | 99re视频在线 |