DATA_ENGINEERETTE Telegram 384
Static vs Dynamic Partitioning

В Hive есть два вида партицирования: статическое и динамическое

Сначала я столкнулась с ошибкой:

Exception in thread "main" org.apache.spark.SparkException: Dynamic partition strict mode requires at least one static partition column. To turn this off set hive.exec.dynamic.partition.mode=nonstrict


Давайте разберем на примерах

У нас есть таблица, которая партицирована по двум полям:

CREATE TABLE sales_data (...)
PARTITIONED BY (date STRING, country STRING);


Теперь пойдем вставлять данные

🤩Статическое

INSERT INTO sales_data
PARTITION (date=’2024–03–23', country=’USA’) VALUES (...);


Здесь мы заранее говорим, в какую партицию будем вставлять кусок данных

🤩 Динамическое

INSERT INTO sales_data
PARTITION (date, country)
VALUES (..., ‘2024–03–23’, ‘USA’);


Здесь Hive сам определяет по данным, которые мы вставляем

Но чтобы такое сработало, нужны 2 конфига:

.config("hive.exec.dynamic.partition", "true")
.config("hive.exec.dynamic.partition.mode", "nonstrict")


По дефолту стоят false и strict. strict означает, что должна существовать хотя бы одна статическая партиция (о чем и была ошибка)
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍8🔥6😁11



tgoop.com/data_engineerette/384
Create:
Last Update:

Static vs Dynamic Partitioning

В Hive есть два вида партицирования: статическое и динамическое

Сначала я столкнулась с ошибкой:

Exception in thread "main" org.apache.spark.SparkException: Dynamic partition strict mode requires at least one static partition column. To turn this off set hive.exec.dynamic.partition.mode=nonstrict


Давайте разберем на примерах

У нас есть таблица, которая партицирована по двум полям:

CREATE TABLE sales_data (...)
PARTITIONED BY (date STRING, country STRING);


Теперь пойдем вставлять данные

🤩Статическое

INSERT INTO sales_data
PARTITION (date=’2024–03–23', country=’USA’) VALUES (...);


Здесь мы заранее говорим, в какую партицию будем вставлять кусок данных

🤩 Динамическое

INSERT INTO sales_data
PARTITION (date, country)
VALUES (..., ‘2024–03–23’, ‘USA’);


Здесь Hive сам определяет по данным, которые мы вставляем

Но чтобы такое сработало, нужны 2 конфига:

.config("hive.exec.dynamic.partition", "true")
.config("hive.exec.dynamic.partition.mode", "nonstrict")


По дефолту стоят false и strict. strict означает, что должна существовать хотя бы одна статическая партиция (о чем и была ошибка)

BY дата инженеретта


Share with your friend now:
tgoop.com/data_engineerette/384

View MORE
Open in Telegram


Telegram News

Date: |

Click “Save” ; The visual aspect of channels is very critical. In fact, design is the first thing that a potential subscriber pays attention to, even though unconsciously. Choose quality over quantity. Remember that one high-quality post is better than five short publications of questionable value. In 2018, Telegram’s audience reached 200 million people, with 500,000 new users joining the messenger every day. It was launched for iOS on 14 August 2013 and Android on 20 October 2013. Co-founder of NFT renting protocol Rentable World emiliano.eth shared the group Tuesday morning on Twitter, calling out the "degenerate" community, or crypto obsessives that engage in high-risk trading.
from us


Telegram дата инженеретта
FROM American