2016-04-18 14 views
0

私はパイプ区切り値を作成する方法についてつもり現在の方法は、(PSV)ファイルには、最初の 選択列として表示ABCをは、ApacheのドリルからPSVファイルを生成する方法

のようなクエリを使用してビューを作成作成することです1 || '|' ||列2 || '|' || ..

そして!レコードを使用して、ABCからselect *を実行します。

これは、生成する必要があるファイルの列数が100であるため、開発に時間がかかり、エラーが発生しやすくなっています。

これについて簡単な方法はありますか?

+0

csvファイルを生成する必要がある場合は、CTASコマンドを使用できました。 [docs](http://drill.apache.org/docs/create-table-as-ctas-command/)を確認してください –

+0

私はpsvファイルが必要です。ドリルにはCSV生成オプションがあります。しかし、私はpsvを生成する方法を探しています。 – Surya

答えて

0

ストレージプラグインでカスタムフォーマットを作成します。ここ は、ドキュメント https://drill.apache.org/docs/plugin-configuration-basics/

"formats": { 
"psv": { 
    "type": "text", 
    "extensions": [ 
    "tbl" 
    ], 
    "delimiter": "|" 
} 
} 

アルターあなたは上記の指定された形式でため

create table `users.vgunnu`.`vt_del_test` as select * from dfs.root.`/tmp/test_parquet` limit 3; 

詳細情報を、データを書き込むためにあなたのデフォルトのストア

alter session set `store.format`='psv'; 

使用CTASを設定するためのセッションです形式 http://drill.apache.org/docs/create-table-as-ctas-command/

+0

あなたは本当に**変更セッションセット 'store.format' = 'psv'; **これは動作しますか?あなたはそれを試しましたか?私の控えめなcsvによれば、jsonとparquetがこのために入力できます。 –

+0

はい試しました – vgunnu

+0

プラグインを編集するための管理者権限がありません。私は管理者が私のためにそれを作成できるかどうかを調べようとしています。 – Surya