1

ドキュメントのAWS::Athena::NamedQueryから、同じスタックに指定されたS3バケットにAthenaをアタッチする方法が不明です。私はexampleから推測していた場合、私はあなたのようなテンプレートを書くことができることを想像同じクラウドフォーメーションスタック内のAthenaとS3の接続

Resources: 
    MyS3Bucket: 
    Type: AWS::S3::Bucket 
     ... other params ... 

    AthenaNamedQuery: 
    Type: AWS::Athena::NamedQuery 
    Properties: 
     Database: "db_name" 
     Name: "MostExpensiveWorkflow" 
     QueryString: > 
        CREATE EXTERNAL TABLE db_name.test_table 
        (...) LOCATION s3://.../path/to/folder/ 

う上記の作品のようなテンプレート?スタックの作成時にテーブルdb_name.test_tableはクエリを実行するために使用できますか?

答えて

1

S3とアテナを接続する方法がわかりました。グルーテーブルを作ることです!私の愚かなこと!!もちろん、接着剤はあなたが物事をつなぐ方法です!

さておき皮肉が、これは、この後

Resources: 
    MyS3Bucket: 
    Type: AWS::S3::Bucket 

    MyGlueDatabase: 
    Type: AWS::Glue::Database 
    Properties: 
     DatabaseInput: 
     Name: my-glue-database 
     Description: "Glue beats tape" 
     CatalogId: !Ref AWS::AccountId 

    MyGlueTable: 
    Type: AWS::Glue::Table 
    Properties: 
     DatabaseName: !Ref MyGlueDatabase 
     CatalogId: !Ref AWS::AccountId 
     TableInput: 
     Name: my-glue-table 
     Parameters: { "classification" : "csv" } 
     StorageDescriptor: 
      Location: 
      Fn::Sub: "s3://${MyS3Bucket}/" 
      InputFormat: "org.apache.hadoop.mapred.TextInputFormat" 
      OutputFormat: "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat" 
      SerdeInfo: 
      Parameters: { "separatorChar" : "," } 
      SerializationLibrary: "org.apache.hadoop.hive.serde2.OpenCSVSerde" 
      StoredAsSubDirectories: false 
      Columns: 
      - Name: column0 
       Type: string 
      - Name: column1 
       Type: string 

AWS::Glue::TableAWS::Glue::Databaseを使用しているとき私のために働いたテンプレートで、データベースとテーブルは、AWSアテナコンソールにありました!

関連する問題