【问题标题】:Apache Drill query on multiple directories多个目录上的 Apache Drill 查询
【发布时间】:2016-12-24 04:51:48
【问题描述】:

我使用 apache 钻取查询。我可以为单独的查询检索数据,例如;

select * from sample.file1
select * from sample.file2

我需要的是获取文件夹中多个文件的结果。有没有办法以递归方式获取数据或在 apache 演习中使用交叉连接?

【问题讨论】:

    标签: apache-drill cross-join


    【解决方案1】:

    查询您的目录:

    select * from <dir>  
    

    sample.file1sample.file2/home/dev/data

    目前你正在做类似的事情:

    use dfs.`/user/dev/data`
    select * from sample.file1
    select * from sample.file2
    

    改为使用:

    use dfs.`/user/dev`
    select * from data
    

    【讨论】:

      【解决方案2】:

      我找到了一个解决方案,它还可以从不同层次结构的不同文件夹中检索数据。

      比方说,层次结构是;

      | - mainFolder
      | - | - folder1
      | - | - | - sample1.json
      | - | - | - sample2.json
      | - | - | - folder2
      | - | - | - | - sample4.json
      | - | - folder3
      | - | - | - sample5.json
      | - | - | - sample6.json
      

      从所有文件中获取所有数据;

      SELECT * FROM mainFolder.* WHERE dir0=‘folder1' or dir0=‘folder3' or dir1=‘folder2'; 
      

      其中“dir”后面的数字代表层次结构的级别。无需提供文件夹的路径。它分别检查给定级别中的所有文件夹。仅从 folder2 dir1='folder2' 获取数据就足够了。

      【讨论】:

        猜你喜欢
        • 2016-05-28
        • 1970-01-01
        • 1970-01-01
        • 2015-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多