2

Apache Drill に関する私の現在のクエリは次のとおりです -

select 
 CAST(columns[0] AS Integer) as ID, 
 to_timestamp(SUBSTR(columns[10],1,14),'YYYYMMddHHmmss') as RecordDt
from dfs.`/data/100Krows/`

私がやりたいことは、フォルダー内の各.csvファイルのmodificationTimeメタデータを次のような列として取得することです-

select 
  CAST(columns[0] AS Integer) as ID, 
  to_timestamp(SUBSTR(columns[10],1,14),'YYYYMMddHHmmss') as RecordDt,
  modificationTime as versionStartTime
from dfs.`/data/100Krows/`

次のコマンドを実行すると、modificationTime メタデータが見つかります。

 SHOW FILES in dfs.data

現在のバージョン 1.1 または 1.0 でこれを実現する方法はありますか?

更新 1

私が本当に探しているのは、個々のファイルに対する select ステートメントの結果セットに含まれるファイル メタデータです。

ディレクトリ構造が次の場合-

dir0
 dir1
  samefilename.csv    -- Modified Date - 10/01/2013
    *******DATA******
    Col0,Col1,Col2
    Val1-2013,Val2-2013,Val3-2014
    *******DATA******
 dir2
   samefilename.csv    -- Modified Date - 10/01/2014
    *******DATA******
     Col0,Col1,Col2
     Val1-2014,Val2-2014,Val3-2014
    *******DATA******

書きたいクエリの種類 -

select 
  name             as filename,  
  modificationTime as versionStartTime,
 Col0,
 Col2,
 Col3
from dfs.`/dir0/`

期待される結果 -

 Columns[0]         Columns[1]   Columns[2]        .....
 samefileName.csv   10/01/2013   Val1-2013         .....
 samefileName.csv   10/01/2014   Val1-2014         .....
4

1 に答える 1

0

ダクジ、

これは現在 (バージョン 1.1 の時点で) 正確には可能ではありませんが、質問に対処するこのドリルの問題が実装されるまでは、ここにプロキシがあります。私が以下に提案していることは正確な​​解決策ではありませんが、いくつかの作業でそこにたどり着くことができます.

前提条件と注意事項:

  1. .psv ストレージ構成の下に .tbl 拡張子を登録します。
  2. 私はdfsの下でこれを行います。
  3. 任意の名前を付けたファイルのプレースホルダーです。

Drill の SQLLine プロンプトからこれを行います。

0: jdbc:drill:zk=local> use dfs;  
0: jdbc:drill:zk=local> record! <file_name.tbl>  
0: jdbc:drill:zk=local> SHOW FILES;  
0: jdbc:drill:zk=local> record!  
0: jdbc:drill:zk=local> select columns[9] from dfs.`<file_name.tbl>';

一部の列エントリにノイズが含まれている可能性がありますが、クエリを使用してさらに除外できます。

> 0: jdbc:drill:zk=local> !record <file_name.tbl>
Recording stopped.
0: jdbc:drill:zk=local> select columns[9] from dfs.`<\path\<file_name.tbl>`;
+---------------------------+
|          EXPR$0           |
+---------------------------+
| null                      |
| null                      |
|     modificationTime      |
| null                      |
|  2013-04-26 23:44:56.0    |
|  2015-08-12 16:21:39.0    |
|  2014-04-26 10:09:33.0    |
|  2015-04-27 22:49:48.0    |
|  2013-08-24 20:16:29.0    |
|  2015-08-23 19:26:54.0    |
|  2014-10-21 16:43:38.0    |
|  2014-04-26 10:09:35.0    |
|  2014-10-21 16:43:38.0    |
|  2012-11-16 11:38:17.0    |
|  2012-11-16 11:44:27.0    |
|  2014-10-21 16:42:57.0    |
|  2014-04-26 10:09:28.0    |
|  2013-08-24 21:48:39.0    |
|  2015-08-20 22:27:34.0    |
+---------------------------+
19 rows selected (0.082 seconds)
于 2015-08-23T23:40:51.810 に答える