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

y53ybaqx  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(390)

我的日志如下:

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
z9ju0rcb

z9ju0rcb1#

据我所知,在演练中没有跳过分隔符的方法。但是,如果变量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

相关问题