Apache Hive konwertowanie z ORC do Parquet – najlepszy sposób danych z jednego formatu na inny (CSV, Parquet, Avro, ORC) – 2 proste kroki!

You are currently viewing Apache Hive konwertowanie z ORC do Parquet – najlepszy sposób danych z jednego formatu na inny (CSV, Parquet, Avro, ORC) – 2 proste kroki!
Share This Post, Help Others, And Earn My Heartfelt Appreciation! :)
4.8
(344)

Witaj! W tym krótkim samouczku pokażę Ci, w jaki sposób można konwertować dane (Apache Hive konwertowanie z ORC do Parquet) z jednego formatu na inny bez wykorzystania dodatkowej aplikacji.

Apache Hive konwertowanie z ORC do Parquet

Wskazówka: Po prostu skopiuj dane między tabelami Hive

Zajmijmy się następującym scenariuszem:

  • Masz dane w formacie CSV w tabeli „data_in_csv”
  • Chciałbyś mieć te same dane, ale w formacie ORC w tabeli „data_in_parquet”

Krok #1 – Utwórz kopię tabeli, ale w docelowym formacie

Masz tabelę w formacie CSV, jak poniżej:

CREATE TABLE data_in_csv (
	id Int,
	name String,
	age Int
)
PARTITIONED BY (INGESTION_ID BIGINT)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
	"separatorChar" = ',',
	"quoteChar" = '"',
	"escapeChar" = '\'
)
STORED AS TEXTFILE;

Zmieniamy format tabeli:

CREATE TABLE data_in_orc (
	id int,
	name string,
	age int
)
PARTITIONED BY (INGESTION_ID BIGINT)
STORED AS ORC tblproperties ("orc.compress"="SNAPPY");

Krok #2 – Skopiuj dane między tabelami

Teraz, po utworzeniu tych dwóch tabel, po prostu skopiujemy dane z pierwszej do nowo utworzonej tabeli. Konwersja zostanie wykonana przez silnik Hive. Nie musisz wiedzieć w jaki sposób działa to „pod maską”, żeby zmienić format.

INSERT OVERWRITE TABLE DATA_IN_ORC PARTITION (INGESTION_ID)
SELECT ID, NAME, AGE, INGESTION_ID FORM DATA_IN_CSV;

Przykłady dla Avro i Parquet

-- Avro format
CREATE TABLE data_in_avro (
	id int,
	name string,
	age int
)
PARTITIONED BY (INGESTION_ID BIGINT)
STORED AS AVRO;

-- Parquet format
CREATE TABLE data_in_parquet (
  id int,
  name string,
  age int
)
PARTITIONED BY (LOADING_DATE STRING)
STORED AS STORED AS PARQUET;

To by było na tyle w temacie: Apache Hive konwertowanie z ORC do Parquet!

Jeśli spodobał Ci się ten post to zostaw proszę komentarz poniżej lub udostępnij ten post na swoim Facebook’u, Twitter’ze, LinkedIn lub innej stronie z mediami społecznościowymi.
Dzięki!

How useful was this post?

Click on a star to rate it!

Average rating 4.8 / 5. Vote count: 344

No votes so far! Be the first to rate this post.

Subscribe
Powiadom o
guest
0 Comments
Inline Feedbacks
View all comments