【问题标题】:apache hive column comment with CTAS带有 CTAS 的 apache hive 列评论
【发布时间】:2014-02-13 22:16:33
【问题描述】:

抱歉所有设置。这是一个 Hive 数据类型和评论问题。

我在 HDFS 中有一个文件,它结合了 4 组表数据。提前打破数据不是我的首选。前 4 行指定列标题:

*1 col1, col2, col3 *2 可乐、colb、colc、cold、col5e 等等……

数据行以标题位置 1 处的匹配数字开头。

1 数据,数据,数据, 2 数据,数据,数据,数据,数据, 等等……

原始文件的基本配置单元表只是 col0 - col60。我尝试创建一个 CTAS 表来保存所有“1”列和一个用于“2”列,我可以在其中指定数据类型和 cmets。由于列名不同,我无法在基表上给出列名,也无法使用基于列的元数据来评论它们。

这个 DDL 不起作用,但举了一个我希望做的例子。有什么想法吗?

CREATE TABLE foo (
col1 as meaningful_name string comment 'meaningful comment')
as
SELECT col1 
FROM base_hive table
WHERE col1 = 1;

CREATE TABLE foo 
as
SELECT col1 string comment 'meaningful comment'
FROM base_hive table
WHERE col1 = 1;

感谢 TD

【问题讨论】:

    标签: apache types comments hive ddl


    【解决方案1】:

    我不太了解您在这里要实现的目标,但是查看您的 DDL,我可以看到一些错误。对于正确的CREATE TABLE AS SELECT 实现,请使用以下 DDL:

    CREATE TABLE foo ( col1 STRING COMMENT 'meaningful comment') AS SELECT col1 AS meaningful_name FROM base_hive table WHERE col1 = 1;

    【讨论】:

    • 感谢您的回复。我之前尝试过这种语法。它抛出错误:“CREATE TABLE AS SELECT 命令无法指定目标表的列列表”。我找到了一种让它工作的方法。只需使用列别名创建表,然后发出 ALTER TABLE CHANGE COLUMN 以添加数据类型和注释。
    猜你喜欢
    • 1970-01-01
    • 2021-11-24
    • 2013-11-27
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多