Apache Drill - 在文件存储插件中使用多个分隔符?

时间:2015-11-13 21:26:52

标签: hadoop apache-drill

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

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

1 个答案:

答案 0 :(得分:0)

据我所知,没有办法在Drill中跳过分隔符。但是,如果变量3是唯一可以在其间具有“”的变量,我可以想到的解决方法是:

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

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

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

另一种解决方法是在Drill读取它之前需要更改文件中的默认分隔符。取决于您从中摄取数据的位置可能是否可行。

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