Преобразование выписки DDL в выписку DDL, выпущенную через программу Spark или через Hive - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь преобразовать запрос SQL в программу spark. В SQL-запросе я обнаружил тег (distribution = replicate). Сначала я создал из него запрос улья и пытался выполнить то же самое.

Как мне позаботиться об этом в улье sql? Код как ниже.

create table LAAD_REFRESH_JOB_LOG
    (
    col1 datetime,
    col2 varchar(20),
    col3 varchar(20),
    col4 varchar(200),
    col5 int
    )with (distribution = replicate);

Я преобразовал вышеупомянутое ниже:

create table LAAD_REFRESH_JOB_LOG(
    col1 TIMESTAMP,
    col2 STRING,
    col3 STRING,
    col4 STRING,
    col5 INT
    )
    STORED AS PARQUET
    TBLPROPERTIES ('parquet.compression'='SNAPPY');

Но как мне позаботиться (распределение = репликация). Является ли приведенный выше запрос Hve правильным или мне нужно сделать какие-либо изменения

1 Ответ

0 голосов
/ 22 апреля 2019

Скорее всего, ничего, как в hdfs-site.xml, коэффициент репликации для кластера обычно устанавливается следующим образом:

<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>                <!--  Here you need to set replication factor for entire cluster. -->     
</property>

Вы можете установить его для Spark Job, поэтому мне говорят, но мой совет - сконцентрироваться на функциональности и не беспокоиться о дешевом хранилище. При использовании S3 также очевидна дополнительная избыточность, но стоимость такая дешевая, что это просто смешно.

Из вашего вопроса неясно, будете ли вы использовать Spark SQL или просто собственный Hive BTW.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...