【问题标题】:How to create a Hive table with multiple hdfs files如何创建具有多个 hdfs 文件的 Hive 表
【发布时间】:2014-04-19 11:59:54
【问题描述】:

所以基本上我想创建一个包含 csv 文件的表

我尝试了类似的方法,其中文件名仅在最后两个数字上有所不同:

创建外部表页面浏览量 (page_date 字符串,网站字符串) 行格式 由“;”终止的分隔字段 以“\n”结尾的行 存储为文本文件 位置'/user/hue/201401/pageviews/supersite_1046_201401**.csv';

对我来说,这个语法看起来不错,但是当我执行它时,我得到以下信息:

执行 hive 查询时发生错误:未知异常。

任何帮助将不胜感激。

【问题讨论】:

  • 我怀疑它是否可以在文本文件位置接受通配符。
  • 这确实是我的关注点之一,但我不知道如何在不使用通配符的情况下做到这一点。
  • 这是一个建议。您能否尝试仅提供文件夹名称的路径(假设文件夹仅包含必要的文件)。
  • 它确实只包含必要的文件,但我得到了同样的未知异常错误。为了让您了解该文件夹包含 17 个相同构造的 csv 文件。
  • 只需使用目录作为位置参数。

标签: csv hadoop hive hdfs


【解决方案1】:

hive 的 create table 语句的 LOCATION 参数将 *hdfs_path* (See here) 作为参数。这样的路径不能是文件路径,而必须是目录路径,因此会出现错误。

在您的情况下,您可以将所需的文件放在特定目录下,并在 create table 语句的 LOCATION 子句中指定该目录。

【讨论】:

    猜你喜欢
    • 2017-09-24
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多