メインコンテンツまでスキップ

CREATE REPOSITORY

リポジトリの作成

説明

バックアップとデータのリストアのためにリモートストレージシステムにリポジトリを作成します。

注意

管理者権限を持つユーザのみがリポジトリを作成できます。

リポジトリの削除手順についての詳細な指示については、DROP REPOSITORYを参照してください。

構文

CREATE [READ ONLY] REPOSITORY <repository_name>
WITH BROKER
ON LOCATION "<repository_location>"
PROPERTIES ("key"="value", ...)

パラメータ

パラメーター

説明

READ ONLY

読み取り専用リポジトリを作成します。読み取り専用リポジトリからのみデータをリストアできることに注意してください。データをマイグレーションするために同じリポジトリを2つのクラスタに作成する場合、新しいクラスタのために読み取り専用リポジトリを作成し、リストア権限のみを付与します。

repository_name

リポジトリの名前。

repository_location

リモートストレージシステム内のリポジトリの場所。

PROPERTIES

リモートストレージシステムにアクセスするための資格情報メソッド。

PROPERTIES:

StarRocksでは、HDFS、AWS S3、およびGoogle GCSのリポジトリを作成できます。

  • HDFSの場合:
    • "username": HDFSクラスタのNameNodeにアクセスするために使用するアカウントのユーザー名。
    • "password": HDFSクラスタのNameNodeにアクセスするために使用するアカウントのパスワード。
  • AWS S3の場合:
    • "aws.s3.use_instance_profile": AWS S3にアクセスするための資格情報メソッドとして、インスタンスプロファイルとエステュムドロールを許可するかどうかを指定します。デフォルト値: false
      • アクセスキーとシークレットキーを使用してAWS S3にアクセスする場合は、このパラメーターを指定する必要はありません。代わりに、"aws.s3.access_key"、"aws.s3.secret_key"、および"aws.s3.endpoint"を指定する必要があります。
      • インスタンスプロファイルを使用してAWS S3にアクセスする場合は、このパラメーターをtrueに設定し、"aws.s3.region"を指定する必要があります。
      • エステュムドロールを使用してAWS S3にアクセスする場合は、このパラメーターをtrueに設定し、"aws.s3.iam_role_arn"と"aws.s3.region"を指定する必要があります。
    • "aws.s3.access_key": Amazon S3バケットにアクセスするために使用できるアクセスキーID。
    • "aws.s3.secret_key": Amazon S3バケットにアクセスするために使用できるシークレットアクセスキー。
    • "aws.s3.endpoint": Amazon S3バケットにアクセスするために使用できるエンドポイント。
    • "aws.s3.iam_role_arn": データファイルが格納されているAWS S3バケットに特権を持つIAMロールのARN。AWS S3へのアクセスの資格情報メソッドとしてエステュムドロールを使用する場合は、このパラメーターを指定する必要があります。StarRocksは、Hiveカタログを使用してHiveデータを解析する際に、このロールを想定しています。
    • "aws.s3.region": AWS S3バケットが存在するリージョン。例: us-west-1

注意

StarRocksでは、S3Aプロトコルに基づいたAWS S3のリポジトリの作成のみをサポートしています。したがって、AWS S3でリポジトリを作成する場合は、ON LOCATIONでリポジトリの場所として渡すS3 URI内のs3://s3a://に置換する必要があります。

  • Google GCSの場合:
    • "fs.s3a.access.key": Google GCSバケットにアクセスするために使用できるアクセスキー。
    • "fs.s3a.secret.key": Google GCSバケットにアクセスするために使用できるシークレットキー。
    • "fs.s3a.endpoint": Google GCSバケットにアクセスするために使用できるエンドポイント。

注意

StarRocksでは、S3Aプロトコルに基づいたGoogle GCSのリポジトリの作成のみをサポートしています。したがって、Google GCSでリポジトリを作成する場合は、ON LOCATIONでリポジトリの場所として渡すGCS URI内のプレフィックスをs3a://に置換する必要があります。

例1: Apache™ Hadoop®クラスタにhdfs_repoという名前のリポジトリを作成します。

CREATE REPOSITORY hdfs_repo
WITH BROKER
ON LOCATION "hdfs://x.x.x.x:yyyy/repo_dir/backup"
PROPERTIES(
"username" = "xxxxxxxx",
"password" = "yyyyyyyy"
);

例2: Amazon S3バケットbucket_s3に読み取り専用のs3_repoという名前のリポジトリを作成します。

CREATE READ ONLY REPOSITORY s3_repo
WITH BROKER
ON LOCATION "s3a://bucket_s3/backup"
PROPERTIES(
"aws.s3.access_key" = "XXXXXXXXXXXXXXXXX",
"aws.s3.secret_key" = "yyyyyyyyyyyyyyyyy",
"aws.s3.endpoint" = "s3.us-east-1.amazonaws.com"
);

例3: Google GCSバケットbucket_gcsgcs_repoという名前のリポジトリを作成します。

CREATE REPOSITORY gcs_repo
WITH BROKER
ON LOCATION "s3a://bucket_gcs/backup"
PROPERTIES(
"fs.s3a.access.key" = "xxxxxxxxxxxxxxxxxxxx",
"fs.s3a.secret.key" = "yyyyyyyyyyyyyyyyyyyy",
"fs.s3a.endpoint" = "storage.googleapis.com"
);