Memigrasikan skema dan data dari Amazon Redshift

Dokumen ini menjelaskan proses migrasi data dari Amazon Redshift ke BigQuery menggunakan alamat IP publik.

Anda dapat menggunakan BigQuery Data Transfer Service untuk menyalin data dari data warehouse Amazon Redshift ke BigQuery. Layanan ini melibatkan agen migrasi di GKE dan memicu operasi penghapusan muatan dari Amazon Redshift ke area staging dalam bucket Amazon S3. Kemudian, BigQuery Data Transfer Service akan mentransfer data Anda dari bucket Amazon S3 ke BigQuery.

Diagram ini menunjukkan keseluruhan aliran data antara data warehouse Amazon Redshift dan BigQuery selama migrasi.

Alur kerja migrasi Amazon Redshift ke BigQuery.

Jika ingin mentransfer data dari instance Amazon Redshift melalui virtual private cloud (VPC) menggunakan alamat IP pribadi, lihat Memigrasikan data Amazon Redshift dengan VPC.

Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and BigQuery Data Transfer Service APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and BigQuery Data Transfer Service APIs.

    Enable the APIs

  8. Menetapkan izin yang diperlukan

    Sebelum membuat transfer Amazon Redshift:

    1. Pastikan akun utama yang membuat transfer memiliki izin berikut dalam project yang berisi tugas transfer:

      • Izin bigquery.transfers.update untuk membuat transfer
      • Izin bigquery.datasets.get dan bigquery.datasets.update pada set data target

      Peran Identity and Access Management (IAM) yang telah ditetapkan roles/bigquery.admin mencakup izin bigquery.transfers.update, bigquery.datasets.update, dan bigquery.datasets.get. Untuk mengetahui informasi lebih lanjut tentang peran IAM dalam BigQuery Data Transfer Service, lihat Kontrol akses.

    2. Lihat dokumentasi untuk Amazon S3 guna memastikan Anda telah mengonfigurasi izin yang diperlukan untuk mengaktifkan transfer. Setidaknya, data sumber Amazon S3 harus menerapkan kebijakan yang dikelola AWS AmazonS3ReadOnlyAccess pada data tersebut.

    Membuat set data

    Buat set data BigQuery untuk menyimpan data Anda. Anda tidak perlu membuat tabel apa pun.

    Mengizinkan akses ke cluster Amazon Redshift

    Ikuti petunjuk di bagian Mengonfigurasi aturan masuk untuk klien SQL guna memasukkan alamat IP berikut ke dalam daftar yang disetujui. Anda dapat memasukkan alamat IP yang sesuai dengan lokasi set data ke dalam daftar yang disetujui, atau memasukkan semua alamat IP pada tabel berikut ke dalam daftar yang disetujui. Alamat IP milik Google ini dicadangkan untuk migrasi data Amazon Redshift.

    Lokasi regional

    Deskripsi region Nama region Alamat IP
    Amerika
    Columbus, Ohio us-east5 34.162.72.184
    34.162.173.185
    34.162.205.205
    34.162.81.45
    34.162.182.149
    34.162.59.92
    34.162.157.190
    34.162.191.145
    Dallas us-south1 34.174.172.89
    34.174.40.67
    34.174.5.11
    34.174.96.109
    34.174.148.99
    34.174.176.19
    34.174.253.135
    34.174.129.163
    Iowa us-central1 34.121.70.114
    34.71.81.17
    34.122.223.84
    34.121.145.212
    35.232.1.105
    35.202.145.227
    35.226.82.216
    35.225.241.102
    Las Vegas us-west4 34.125.53.201
    34.125.69.174
    34.125.159.85
    34.125.152.1
    34.125.195.166
    34.125.50.249
    34.125.68.55
    34.125.91.116
    Los Angeles us-west2 35.236.59.167
    34.94.132.139
    34.94.207.21
    34.94.81.187
    34.94.88.122
    35.235.101.187
    34.94.238.66
    34.94.195.77
    Meksiko northamerica-south1 34.51.6.35
    34.51.7.113
    34.51.12.83
    34.51.10.94
    34.51.11.219
    34.51.11.52
    34.51.2.114
    34.51.15.251
    Montréal northamerica-northeast1 34.95.20.253
    35.203.31.219
    34.95.22.233
    34.95.27.99
    35.203.12.23
    35.203.39.46
    35.203.116.49
    35.203.104.223
    Northern Virginia us-east4 35.245.95.250
    35.245.126.228
    35.236.225.172
    35.245.86.140
    35.199.31.35
    35.199.19.115
    35.230.167.48
    35.245.128.132
    35.245.111.126
    35.236.209.21
    Oregon us-west1 35.197.117.207
    35.199.178.12
    35.197.86.233
    34.82.155.140
    35.247.28.48
    35.247.31.246
    35.247.106.13
    34.105.85.54
    Salt Lake City us-west3 34.106.37.58
    34.106.85.113
    34.106.28.153
    34.106.64.121
    34.106.246.131
    34.106.56.150
    34.106.41.31
    34.106.182.92
    São Paolo southamerica-east1 35.199.88.228
    34.95.169.140
    35.198.53.30
    34.95.144.215
    35.247.250.120
    35.247.255.158
    34.95.231.121
    35.198.8.157
    Santiago southamerica-west1 34.176.188.48
    34.176.38.192
    34.176.205.134
    34.176.102.161
    34.176.197.198
    34.176.223.236
    34.176.47.188
    34.176.14.80
    South Carolina us-east1 35.196.207.183
    35.237.231.98
    104.196.102.222
    35.231.13.201
    34.75.129.215
    34.75.127.9
    35.229.36.137
    35.237.91.139
    Toronto northamerica-northeast2 34.124.116.108
    34.124.116.107
    34.124.116.102
    34.124.116.80
    34.124.116.72
    34.124.116.85
    34.124.116.20
    34.124.116.68
    Eropa
    Belgia europe-west1 35.240.36.149
    35.205.171.56
    34.76.234.4
    35.205.38.234
    34.77.237.73
    35.195.107.238
    35.195.52.87
    34.76.102.189
    Berlin europe-west10 34.32.28.80
    34.32.31.206
    34.32.19.49
    34.32.33.71
    34.32.15.174
    34.32.23.7
    34.32.1.208
    34.32.8.3
    Finlandia europe-north1 35.228.35.94
    35.228.183.156
    35.228.211.18
    35.228.146.84
    35.228.103.114
    35.228.53.184
    35.228.203.85
    35.228.183.138
    Frankfurt europe-west3 35.246.153.144
    35.198.80.78
    35.246.181.106
    35.246.211.135
    34.89.165.108
    35.198.68.187
    35.242.223.6
    34.89.137.180
    London europe-west2 35.189.119.113
    35.189.101.107
    35.189.69.131
    35.197.205.93
    35.189.121.178
    35.189.121.41
    35.189.85.30
    35.197.195.192
    Madrid europe-southwest1 34.175.99.115
    34.175.186.237
    34.175.39.130
    34.175.135.49
    34.175.1.49
    34.175.95.94
    34.175.102.118
    34.175.166.114
    Milan europe-west8 34.154.183.149
    34.154.40.104
    34.154.59.51
    34.154.86.2
    34.154.182.20
    34.154.127.144
    34.154.201.251
    34.154.0.104
    Belanda europe-west4 35.204.237.173
    35.204.18.163
    34.91.86.224
    34.90.184.136
    34.91.115.67
    34.90.218.6
    34.91.147.143
    34.91.253.1
    Paris europe-west9 34.163.76.229
    34.163.153.68
    34.155.181.30
    34.155.85.234
    34.155.230.192
    34.155.175.220
    34.163.68.177
    34.163.157.151
    Stockholm europe-north2 34.51.133.48
    34.51.136.177
    34.51.128.140
    34.51.141.252
    34.51.139.127
    34.51.142.55
    34.51.134.218
    34.51.138.9
    Turin europe-west12 34.17.15.186
    34.17.44.123
    34.17.41.160
    34.17.47.82
    34.17.43.109
    34.17.38.236
    34.17.34.223
    34.17.16.47
    Warsawa europe-central2 34.118.72.8
    34.118.45.245
    34.118.69.169
    34.116.244.189
    34.116.170.150
    34.118.97.148
    34.116.148.164
    34.116.168.127
    Zürich europe-west6 34.65.205.160
    34.65.121.140
    34.65.196.143
    34.65.9.133
    34.65.156.193
    34.65.216.124
    34.65.233.83
    34.65.168.250
    Asia Pasifik
    Delhi asia-south2 34.126.212.96
    34.126.212.85
    34.126.208.224
    34.126.212.94
    34.126.208.226
    34.126.212.232
    34.126.212.93
    34.126.212.206
    Hong Kong asia-east2 34.92.245.180
    35.241.116.105
    35.220.240.216
    35.220.188.244
    34.92.196.78
    34.92.165.209
    35.220.193.228
    34.96.153.178
    Jakarta asia-southeast2 34.101.79.105
    34.101.129.32
    34.101.244.197
    34.101.100.180
    34.101.109.205
    34.101.185.189
    34.101.179.27
    34.101.197.251
    Melbourne australia-southeast2 34.126.196.95
    34.126.196.106
    34.126.196.126
    34.126.196.96
    34.126.196.112
    34.126.196.99
    34.126.196.76
    34.126.196.68
    Mumbai asia-south1 34.93.67.112
    35.244.0.1
    35.200.245.13
    35.200.203.161
    34.93.209.130
    34.93.120.224
    35.244.10.12
    35.200.186.100
    Osaka asia-northeast2 34.97.94.51
    34.97.118.176
    34.97.63.76
    34.97.159.156
    34.97.113.218
    34.97.4.108
    34.97.119.140
    34.97.30.191
    Seoul asia-northeast3 34.64.152.215
    34.64.140.241
    34.64.133.199
    34.64.174.192
    34.64.145.219
    34.64.136.56
    34.64.247.158
    34.64.135.220
    Singapura asia-southeast1 34.87.12.235
    34.87.63.5
    34.87.91.51
    35.198.197.191
    35.240.253.175
    35.247.165.193
    35.247.181.82
    35.247.189.103
    Sydney australia-southeast1 35.189.33.150
    35.189.38.5
    35.189.29.88
    35.189.22.179
    35.189.20.163
    35.189.29.83
    35.189.31.141
    35.189.14.219
    Taiwan asia-east1 35.221.201.20
    35.194.177.253
    34.80.17.79
    34.80.178.20
    34.80.174.198
    35.201.132.11
    35.201.223.177
    35.229.251.28
    35.185.155.147
    35.194.232.172
    Tokyo asia-northeast1 34.85.11.246
    34.85.30.58
    34.85.8.125
    34.85.38.59
    34.85.31.67
    34.85.36.143
    34.85.32.222
    34.85.18.128
    34.85.23.202
    34.85.35.192
    Timur Tengah
    Dammam me-central2 34.166.20.177
    34.166.10.104
    34.166.21.128
    34.166.19.184
    34.166.20.83
    34.166.18.138
    34.166.18.48
    34.166.23.171
    Doha me-central1 34.18.48.121
    34.18.25.208
    34.18.38.183
    34.18.33.25
    34.18.21.203
    34.18.21.80
    34.18.36.126
    34.18.23.252
    Tel Aviv me-west1 34.165.184.115
    34.165.110.74
    34.165.174.16
    34.165.28.235
    34.165.170.172
    34.165.187.98
    34.165.85.64
    34.165.245.97
    Afrika
    Johannesburg africa-south1 34.35.11.24
    34.35.10.66
    34.35.8.32
    34.35.3.248
    34.35.2.113
    34.35.5.61
    34.35.7.53
    34.35.3.17

    Lokasi multi-regional

    Deskripsi multi-region Nama multi-region Alamat IP
    Pusat data di negara anggota Uni Eropa1 EU 34.76.156.158
    34.76.156.172
    34.76.136.146
    34.76.1.29
    34.76.156.232
    34.76.156.81
    34.76.156.246
    34.76.102.206
    34.76.129.246
    34.76.121.168
    Pusat data di Amerika Serikat US 35.185.196.212
    35.197.102.120
    35.185.224.10
    35.185.228.170
    35.197.5.235
    35.185.206.139
    35.197.67.234
    35.197.38.65
    35.185.202.229
    35.185.200.120

    1 Data yang berada di multi-region EU tidak disimpan di pusat data europe-west2 (London) atau europe-west6 (Zürich).

    Memberikan akses ke bucket Amazon S3

    Anda harus memiliki bucket Amazon S3 untuk digunakan sebagai area staging guna mentransfer data Amazon Redshift ke BigQuery. Untuk petunjuk selengkapnya, lihat dokumentasi Amazon.

    1. Sebaiknya Anda membuat pengguna Amazon IAM khusus, dan memberikan akses Baca saja kepada pengguna tersebut ke Amazon Redshift serta akses Baca dan Tulis ke Amazon S3. Untuk mencapai langkah ini, Anda dapat menerapkan kebijakan berikut:

      Izin Amazon migrasi Amazon Redshift

    2. Buat pasangan kunci akses pengguna IAM Amazon.

    Mengonfigurasi kontrol workload dengan antrean migrasi terpisah

    Jika ingin, Anda dapat menentukan antrean Amazon Redshift untuk tujuan migrasi guna membatasi dan memisahkan resource yang digunakan untuk migrasi. Anda dapat mengonfigurasi antrean migrasi ini dengan jumlah kueri konkurensi maksimum. Selanjutnya, Anda dapat mengaitkan grup pengguna migrasi tertentu dengan antrean dan menggunakan kredensial tersebut saat menyiapkan migrasi untuk mentransfer data ke BigQuery. Layanan transfer hanya memiliki akses ke antrean migrasi.

    Mengumpulkan informasi transfer

    Kumpulkan informasi yang Anda perlukan untuk menyiapkan migrasi deng BigQuery Data Transfer Service:

    • Ikuti petunjuk ini untuk mendapatkan URL JDBC.
    • Dapatkan nama pengguna dan sandi pengguna dengan izin yang sesuai ke database Amazon Redshift Anda.
    • Ikuti petunjuk di bagian Memberikan akses ke bucket Amazon S3 untuk mendapatkan pasangan kunci akses AWS.
    • Dapatkan URI bucket Amazon S3 yang ingin Anda gunakan untuk transfer. Sebaiknya siapkan kebijakan Siklus proses untuk bucket ini guna menghindari biaya yang tidak perlu. Waktu habis masa berlaku yang direkomendasikan adalah 24 jam agar tersedia waktu yang cukup untuk mentransfer semua data ke BigQuery.

    Menilai data Anda

    Sebagai bagian dari transfer data, BigQuery Data Transfer Service menulis data dari Amazon Redshift ke Cloud Storage sebagai file CSV. Jika file ini berisi karakter 0 ASCII, file tersebut tidak dapat dimuat ke BigQuery. Anda sebaiknya menilai data untuk menentukan apakah hal ini dapat menjadi masalah. Jika demikian, Anda dapat mengatasi hal ini dengan mengekspor data Anda ke Amazon S3 sebagai file Parquet, lalu mengimpor file tersebut dengan menggunakan BigQuery Data Transfer Service. Untuk informasi selengkapnya, lihat Ringkasan transfer Amazon S3.

    Menyiapkan transfer Amazon Redshift

    Pilih salah satu opsi berikut:

    Konsol

    1. Di Google Cloud konsol, buka halaman BigQuery.

      Buka BigQuery

    2. Klik Data transfers.

    3. Klik Buat Transfer.

    4. Di bagian Jenis sumber, pilih Migrasi: Amazon Redshift dari daftar Sumber.

    5. Di bagian Transfer nama konfigurasi, masukkan nama untuk transfer, misalnya My migration, di kolom Nama tampilan. Nama tampilan dapat berupa nilai apa pun yang memudahkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.

    6. Di bagian Setelan tujuan, pilih set data yang Anda buat dari daftar Set data.

    7. Di bagian Detail sumber data, lakukan hal berikut:

      1. Bagi URL koneksi JDBC untuk Amazon Redshift, berikan URL JDBC untuk mengakses cluster Amazon Redshift Anda.
      2. Untuk Nama pengguna database, masukkan nama pengguna untuk database Amazon Redshift yang ingin dimigrasikan.
      3. Untuk Sandi database Anda, masukkan sandi database.

      4. Untuk ID kunci akses dan Kunci akses rahasia, masukkan pasangan kunci akses yang diperoleh dari Memberikan akses ke bucket S3.

      5. Untuk Amazon S3 URI, masukkan URI bucket S3 yang akan Anda gunakan sebagai area staging.

      6. Untuk Amazon Redshift Schema, masukkan skema Amazon Redshift yang Anda migrasikan.

      7. Untuk Pola nama tabel, tentukan nama atau pola untuk mencocokkan nama tabel dalam skema. Anda dapat menggunakan ekspresi reguler untuk menentukan pola dalam bentuk: <table1Regex>;<table2Regex>. Pola ini harus mengikuti sintaksis ekspresi reguler Java. Contoh:

        • lineitem;ordertb cocok dengan tabel yang bernama lineitem dan ordertb.
        • .* cocok dengan semua tabel.

        Kosongkan kolom ini untuk memigrasikan semua tabel dari skema yang ditentukan.

      8. Untuk VPC dan rentang IP yang dicadangkan, kosongkan kolom ini.

    8. Di menu Service Account, pilih akun layanan dari akun layanan yang terkait dengan Google Cloud project Anda. Anda dapat mengaitkan akun layanan dengan transfer, bukan menggunakan kredensial pengguna. Untuk mengetahui informasi selengkapnya tentang cara menggunakan akun layanan dengan transfer data, lihat Menggunakan akun layanan.

    9. Opsional: Di bagian Opsi notifikasi, lakukan hal berikut:

      1. Klik tombol untuk mengaktifkan notifikasi email. Saat Anda mengaktifkan opsi ini, administrator transfer akan menerima notifikasi email saat proses transfer gagal.
      2. Untuk Select a Pub/Sub topic, pilih nama topik atau klik Create a topic. Opsi ini mengonfigurasi notifikasi operasi Pub/Sub untuk transfer Anda.
    10. Klik Simpan.

    11. Konsol Google Cloud menampilkan semua detail penyiapan transfer, termasuk Nama resource untuk transfer ini.

    bq

    Masukkan perintah bq mk dan berikan flag pembuatan transfer --transfer_config. Flag berikut juga diperlukan:

    • --project_id
    • --data_source
    • --target_dataset
    • --display_name
    • --params
    bq mk \
        --transfer_config \
        --project_id=project_id \
        --data_source=data_source \
        --target_dataset=dataset \
        --display_name=name \
        --service_account_name=service_account \
        --params='parameters'

    Dengan:

    • project_id adalah Google Cloud project ID Anda. Jika --project_id tidak ditentukan, project default akan digunakan.
    • data_source adalah sumber data: redshift.
    • dataset adalah set data target BigQuery untuk konfigurasi transfer.
    • name adalah nama tampilan untuk konfigurasi transfer. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.
    • service_account: adalah nama akun layanan yang digunakan untuk mengautentikasi transfer Anda. Akun layanan harus dimiliki oleh project_id yang sama yang digunakan untuk membuat transfer dan harus memiliki semua izin yang diperlukan.
    • parameters berisi parameter untuk konfigurasi transfer yang dibuat dalam format JSON. Untuk contoh: --params='{"param":"param_value"}'.

    Parameter yang diperlukan untuk konfigurasi transfer Amazon Redshift adalah:

    • jdbc_url: URL koneksi JDBC digunakan untuk menemukan cluster Amazon Redshift.
    • database_username: Nama pengguna untuk mengakses database Anda guna menghapus muatan tabel yang ditentukan.
    • database_password: Sandi yang digunakan dengan nama pengguna untuk mengakses database Anda guna menghapus muatan tabel yang ditentukan.
    • access_key_id: ID kunci akses untuk menandai permintaan yang dibuat ke AWS.
    • secret_access_key: Kunci akses secret yang digunakan dengan ID kunci akses untuk menandai permintaan yang dibuat ke AWS.
    • s3_bucket: URI Amazon S3 yang diawali dengan "s3://" dan menentukan awalan file sementara yang akan digunakan.
    • redshift_schema: Skema Amazon Redshift yang berisi semua tabel yang akan dimigrasikan.
    • table_name_patterns: Pola nama tabel yang dipisahkan titik koma (;). Pola tabel adalah ekspresi reguler untuk tabel(-tabel) yang akan dimigrasikan. Jika tidak disediakan, semua tabel dalam skema database akan dimigrasikan.

    Misalnya, perintah berikut akan membuat transfer Amazon Redshift bernama My Transfer dengan set data target bernama mydataset dan project dengan ID google.com:myproject.

    bq mk \
        --transfer_config \
        --project_id=myproject \
        --data_source=redshift \
        --target_dataset=mydataset \
        --display_name='My Transfer' \
        --params='{"jdbc_url":"jdbc:postgresql://test-example-instance.sample.us-west-1.redshift.amazonaws.com:5439/dbname","database_username":"my_username","database_password":"1234567890","access_key_id":"A1B2C3D4E5F6G7H8I9J0","secret_access_key":"1234567890123456789012345678901234567890","s3_bucket":"s3://bucket/prefix","redshift_schema":"public","table_name_patterns":"table_name"}'
    

    API

    Gunakan metode projects.locations.transferConfigs.create dan berikan instance resource TransferConfig.

    Java

    Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.

    Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

    import com.google.api.gax.rpc.ApiException;
    import com.google.cloud.bigquery.datatransfer.v1.CreateTransferConfigRequest;
    import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
    import com.google.cloud.bigquery.datatransfer.v1.ProjectName;
    import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
    import com.google.protobuf.Struct;
    import com.google.protobuf.Value;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;
    
    // Sample to create redshift transfer config
    public class CreateRedshiftTransfer {
    
      public static void main(String[] args) throws IOException {
        // TODO(developer): Replace these variables before running the sample.
        final String projectId = "MY_PROJECT_ID";
        String datasetId = "MY_DATASET_ID";
        String datasetRegion = "US";
        String jdbcUrl = "MY_JDBC_URL_CONNECTION_REDSHIFT";
        String dbUserName = "MY_USERNAME";
        String dbPassword = "MY_PASSWORD";
        String accessKeyId = "MY_AWS_ACCESS_KEY_ID";
        String secretAccessId = "MY_AWS_SECRET_ACCESS_ID";
        String s3Bucket = "MY_S3_BUCKET_URI";
        String redShiftSchema = "MY_REDSHIFT_SCHEMA";
        String tableNamePatterns = "*";
        String vpcAndReserveIpRange = "MY_VPC_AND_IP_RANGE";
        Map<String, Value> params = new HashMap<>();
        params.put("jdbc_url", Value.newBuilder().setStringValue(jdbcUrl).build());
        params.put("database_username", Value.newBuilder().setStringValue(dbUserName).build());
        params.put("database_password", Value.newBuilder().setStringValue(dbPassword).build());
        params.put("access_key_id", Value.newBuilder().setStringValue(accessKeyId).build());
        params.put("secret_access_key", Value.newBuilder().setStringValue(secretAccessId).build());
        params.put("s3_bucket", Value.newBuilder().setStringValue(s3Bucket).build());
        params.put("redshift_schema", Value.newBuilder().setStringValue(redShiftSchema).build());
        params.put("table_name_patterns", Value.newBuilder().setStringValue(tableNamePatterns).build());
        params.put(
            "migration_infra_cidr", Value.newBuilder().setStringValue(vpcAndReserveIpRange).build());
        TransferConfig transferConfig =
            TransferConfig.newBuilder()
                .setDestinationDatasetId(datasetId)
                .setDatasetRegion(datasetRegion)
                .setDisplayName("Your Redshift Config Name")
                .setDataSourceId("redshift")
                .setParams(Struct.newBuilder().putAllFields(params).build())
                .setSchedule("every 24 hours")
                .build();
        createRedshiftTransfer(projectId, transferConfig);
      }
    
      public static void createRedshiftTransfer(String projectId, TransferConfig transferConfig)
          throws IOException {
        try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
          ProjectName parent = ProjectName.of(projectId);
          CreateTransferConfigRequest request =
              CreateTransferConfigRequest.newBuilder()
                  .setParent(parent.toString())
                  .setTransferConfig(transferConfig)
                  .build();
          TransferConfig config = client.createTransferConfig(request);
          System.out.println("Cloud redshift transfer created successfully :" + config.getName());
        } catch (ApiException ex) {
          System.out.print("Cloud redshift transfer was not created." + ex.toString());
        }
      }
    }

    Kuota dan batas

    BigQuery memiliki kuota muatan sebesar 15 TB untuk setiap tugas pemuatan untuk setiap tabel. Secara internal, Amazon Redshift mengompresi data tabel, sehingga ukuran tabel yang diekspor akan lebih besar dari ukuran tabel yang dilaporkan oleh Amazon Redshift. Jika Anda berencana memigrasikan tabel yang lebih besar dari 15 TB, hubungi Cloud Customer Care terlebih dahulu.

    Biaya dapat dikenakan di luar Google dengan menggunakan layanan ini. Tinjau halaman harga Amazon Redshift dan Amazon S3 untuk mengetahui detailnya.

    Karena model konsistensi Amazon S3, ada kemungkinan bahwa beberapa file tidak akan disertakan dalam transfer ke BigQuery.

    Langkah berikutnya