首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将DDL语句转换为通过Spark程序或通过Hive发出的DDL语句

将DDL语句转换为通过Spark程序或通过Hive发出的DDL语句
EN

Stack Overflow用户
提问于 2019-04-22 19:06:54
回答 1查看 49关注 0票数 0

我正在尝试将SQL查询转换为spark程序。在SQL查询中,我遇到了一个标记(distribution = replicate)。首先,我创建了一个hive查询,并尝试执行相同的查询。

如何在hive sql中处理此问题?代码如下所示。

代码语言:javascript
复制
create table LAAD_REFRESH_JOB_LOG
    (
    col1 datetime,
    col2 varchar(20),
    col3 varchar(20),
    col4 varchar(200),
    col5 int
    )with (distribution = replicate);

我已经将上面的内容转换为以下内容:

代码语言:javascript
复制
create table LAAD_REFRESH_JOB_LOG(
    col1 TIMESTAMP,
    col2 STRING,
    col3 STRING,
    col4 STRING,
    col5 INT
    )
    STORED AS PARQUET
    TBLPROPERTIES ('parquet.compression'='SNAPPY');

但我该如何处理(分发=复制)。上述hve查询是否正确,或者是否需要进行任何修改

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-22 19:39:34

在hdfs-site.xml中,群集的复制因子通常设置如下:

代码语言:javascript
复制
<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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55793389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档