4

私はApache Drillの初心者です。

シナリオは次のとおりです。

S3 バケットがあり、ここに test.csv という名前の csv ファイルを配置します。公式 Web サイトの指示に従って Apache Drill をインストールしました。

S3 プラグインを作成するためのチュートリアル: https://drill.apache.org/blog/2014/12/09/running-sql-queries-on-amazon-s3/に従いました。

Drill を開始し、正しい「ワークスペース」を使用します (with: use my-s3;) が、test.cav ファイルからレコードを選択しようとすると、エラーが発生しました:

テーブル 's3./test.csv' が見つかりません。

誰でも私を助けることができますか?ありがとう!

4

1 に答える 1

5

次のように、USE コマンドでワークスペースの名前 (使用している場合) とバックティックを使用します。

USE `my-s3`.`<workspace-name>`; 
SHOW files; //should list test.csv file
SELECT * FROM `test.csv`;

dfs ストレージ プラグイン構成を使用してローカル ファイル システムの CSV をクエリし、問題の原因となっているヘッダーなどを除外します。このページをまだ見ていない場合は、このページが役立つかもしれません。

上記のコメントに記載されているストレージ プラグイン:

    {
  "type": "file",
  "enabled": true,
  "connection": "s3n://<accesskey>:<secret>@catpaws",
  "workspaces": {},
  "formats": {
    "psv": {
      "type": "text",
      "extensions": [
        "tbl"
      ],
      "delimiter": "|"
    },
    "csv": {
      "type": "text",
      "extensions": [
        "csv"
      ],
      "delimiter": ","
    },
    "tsv": {
      "type": "text",
      "extensions": [
        "tsv"
      ],
      "delimiter": "\t"
    },
    "parquet": {
      "type": "parquet"
    },
    "json": {
      "type": "json"
    }
  }
}

おそらく、これは関係ありません。これは Amazon S3 ヘルプからの抜粋で、さらに多くの情報が含まれています。

<property>
  <name>fs.s3.awsAccessKeyId</name>
  <value>ID</value>
</property>

<property>
  <name>fs.s3.awsSecretAccessKey</name>
  <value>SECRET</value>
</property>
于 2015-07-25T00:14:53.807 に答える