S3からAuroraへのデータインポート
背景
Athenaで処理していたデータをAuroraで管理するような仕様ができたので、S3からAuroraへのデータインポートを考え始めた。
データインポート
Auraoの公式ドキュメントを参照すれば大体いけます。
Amazon S3 バケットのテキストファイルから Amazon Aurora MySQL DB クラスターへのデータのロード - Amazon Relational Database Service
↑のドキュメントを簡単にまとめると、以下のことです。
- IAM policy作成(S3へのアクセス許可)
- IAM Role作成(AuroraからAWSへのアクセス許可)
- Auroraのparameter group設定
- クラスターのparameter group(各インスタントの設定が同じなら、クラスターだけを設定すればOK)
- 各インスタントのparameter group
- Amazon Aurora MySQL から AWS の他のサービスへのネットワーク通信の有効化 - Amazon Relational Database Service
ハマったところ
Amazon Aurora MySQL から AWS の他のサービスへのネットワーク通信の有効化 - Amazon Relational Database Service
↑はわかりませんでしたので、無視した。そしたら、全然S3とつながらなかった。それはそうですね。Auroraはprivate vpcに置いてあるため、そのまま外のS3へのアクセスは不可能です。
対策
endpointを作成
VPC -> エンドポイント -> エンドポイント作成
結果
以下のようにテストしました。
テストデータ
- テーブルの作成
mysql> create table users_01(
-> userid integer not null primary key,
-> username char(8),
-> firstname varchar(30),
-> lastname varchar(30),
-> city varchar(30),
-> state char(2),
-> email varchar(100),
-> phone char(14),
-> likesports varchar(100),
-> liketheatre varchar(100),
-> likeconcerts varchar(100),
-> likejazz varchar(100),
-> likeclassical varchar(100),
-> likeopera varchar(100),
-> likerock varchar(100),
-> likevegas varchar(100),
-> likebroadway varchar(100),
-> likemusicals varchar(100));
Query OK, 0 rows affected (3.44 sec)
- txtファイルの用意
aws s3 cp allusers_pipe.txt s3://fout-fox-development/allusers_pipe.txt
- データインポート
mysql> LOAD DATA FROM S3 's3://fout-fox-development/allusers_pipe.txt'
-> INTO TABLE users_01
-> FIELDS TERMINATED BY '|'
-> LINES TERMINATED BY '\n'
-> (@var1, @var2, @var3, @var4, @var5, @var6, @var7, @var8, @var9, @var10, @var11, @var12, @var13, @var14, @var15, @var16, @var17, @var18)
-> SET
-> userid = @var1,
-> username = @var2,
-> firstname = @var3,
-> lastname = @var4,
-> city=@var5,
-> state=@var6,
-> email=@var7,
-> phone=@var8,
-> likesports=@var9,
-> liketheatre=@var10,
-> likeconcerts=@var11,
-> likejazz=@var12,
-> likeclassical=@var13,
-> likeopera=@var14,
-> likerock=@var15,
-> likevegas=@var16,
-> likebroadway=@var17,
-> likemusicals=@var18;
Query OK, 49990 rows affected (8.81 sec)
Records: 49990 Deleted: 0 Skipped: 0 Warnings: 0
パフォーマンス
参照
Author And Source
この問題について(S3からAuroraへのデータインポート), 我々は、より多くの情報をここで見つけました https://qiita.com/arthurbryant/items/baf8fae63aa70898b402著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .