【问题标题】:Issue creating Hive External table using tblproperties使用 tblproperties 创建 Hive 外部表的问题
【发布时间】:2014-07-12 00:04:57
【问题描述】:

我正在尝试在 Hive 中使用 tblproperties 创建一个外部表。表已创建,但不显示行。有任何想法吗?请在下面找到我正在使用的脚本:

提前感谢您的时间和建议。

数据在递归文件夹中:/user/test/test1/test2/samplefile.csv

use dw_raw;
drop table if exists temp_external_tab1;

create external table if not exists temp_external_tab1 (
col1 int,
col2 string,
col3 string,
col4 string
)
row format delimited fields terminated by ','
lines terminated by '\n'
stored as textfile
location '/user/test/test1/'
tblproperties ("hive.input.dir.recursive" = "TRUE", 
    "hive.mapred.supports.subdirectories" = "TRUE",
    "hive.supports.subdirectories" = "TRUE", 
    "mapred.input.dir.recursive" = "TRUE");

【问题讨论】:

    标签: hive


    【解决方案1】:

    这些不是表属性,而是全局设置。

    你应该使用'set'来设置这些,即:

    set hive.mapred.supports.subdirectories=true;
    set mapred.input.dir.recursive=true;
    

    【讨论】:

      【解决方案2】:

      您已经创建了一个表,但尚未将任何数据放入其中。试试

      hive> LOAD DATA LOCAL INPATH '/user/test/test1/test2/samplefile.csv'
            INTO TABLE temp_external_tab1;
      

      【讨论】:

      • 我正在传递路径,所以如果递归目录输入设置为 true,它不应该扫描该位置的所有文件并将其添加到表中。如果我使用“设置属性”,而不是将其添加到 tblproperties,则将上述相同的查询结果与数据填充一起添加到表创建中..
      • 使用 dw_raw;如果存在 temp_external_tab1 则删除表;设置 mapred.input.dir.recursive=true;设置 hive.supports.subdirectories = true;设置 hive.mapred.supports.subdirectories = true;设置 hive.input.dir.recursive=true;如果不存在,则创建外部表 temp_external_tab1 ( col1 int, col2 string, col3 string, col4 string ) 以 ',' 结尾的行格式分隔字段,以 '\n' 结尾的行存储为文本文件位置 '/user/test/test1/';
      【解决方案3】:

      如果您使用 ambari,请将以下属性设置为自定义 hive-site.xml 中的 hive 高级配置。

      SET hive.input.dir.recursive=TRUE

      SET hive.mapred.supports.subdirectories=TRUE

      SET hive.supports.subdirectories=TRUE

      SET mapred.input.dir.recursive=TRUE

      然后重启受影响的服务。这将递归读取所有数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多