【问题标题】:Apache Drill - Using Multiple Delimiters in File Storage Plugin?Apache Drill - 在文件存储插件中使用多个分隔符?
【发布时间】:2015-11-13 21:26:52
【问题描述】:

我的日志类似于以下内容:

value1 value2 "value 3 with spaces" value4

使用:

  "formats": {
    "csv": {
      "type": "text",
      "delimiter": " "
    }
  }

对于由“”分隔的存储插件,我给出了以下列:

columns[0] | columns[1] | columns[2] | columns[3] | columns[5] | columns[6] | columns[7]
value1     | value2     | value      | 3          | with       | spaces     | value4

我想要的是:

columns[0] | columns[1] | columns[2]              | columns[3] 
value1     | value2     | value 3 with spaces     | value4

【问题讨论】:

  • 有一个即将发布的功能(我有根据的猜测是 12 月)应该适合你:issues.apache.org/jira/browse/DRILL-3423
  • @catpaws 这在 1.3 中解决了吗?
  • 对不起,它不在 1.3 中。 DRILL-3423 的目标是 1.4。

标签: hadoop apache-drill


【解决方案1】:

据我所知,在 Drill 中无法跳过分隔符。但是,如果变量 3 是唯一可以在两者之间包含“”的变量,我能想到的解决方法是:

  • 构造您的第一个查询,以便列 [3] 始终是最后一个,例如

从dfs.default./path/to/your/file中选择列[0]、列[1]、列[2]、列[4]、列[3];

  • 使用 CONCATENATE() 命令在单独的列中构建变量。

另一种解决方法是在让 Drill 读取文件之前更改文件中的默认分隔符。取决于您从中提取数据的位置,这可能可行或不可行。

祝你好运,如果您在 Drill 上寻找更多内容,请务必查看 MapR 在 Drill 上的社区页面,其中包含可能有用的代码示例:https://community.mapr.com/community/products/apache-drill

【讨论】:

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