BigQuery Toolkit for SAP をインストールして構成する

このドキュメントでは、BigQuery Toolkit for SAP をインストールして構成する方法について説明します。

BigQuery Toolkit for SAP をインストールする

ABAP SDK for Google Cloud のオンプレミス エディションまたはクラウド エディションのバージョン 1.9 をインストールすると、BigQuery Toolkit for SAP がデフォルトでインストールされます。インストール手順については、ABAP SDK for Google Cloud のオンプレミス エディションまたはクラウド エディションをインストールして構成するをご覧ください。

ABAP SDK for Google Cloud のオンプレミス エディションまたはクラウド エディションのバージョン 1.8 以前を使用している場合は、SDK を最新バージョンに更新して BigQuery Toolkit for SAP を入手する必要があります。詳細については、ABAP SDK for Google Cloud を更新するをご覧ください。

BigQuery API を有効にする

Google Cloud プロジェクトで BigQuery API を有効にする必要があります。 Google Cloud API を有効にする方法については、API の有効化をご覧ください。

認証を設定する

ABAP SDK for Google Cloud のオンプレミス エディションまたはクラウド エディションで API にアクセスするための認証を設定すると、BigQuery Toolkit for SAP は同じ認証方法を使用して BigQuery API にアクセスします。 Google Cloud ABAP SDK for Google Cloud のオンプレミス版またはクラウド版で認証を設定する方法については、認証の概要をご覧ください。

ABAP SDK for Google Cloud クライアント キー構成で構成されたサービス アカウントに、次のロールがあることを確認します。

  • BigQuery データ編集者
  • BigQuery ジョブユーザー

認証設定の一部として作成したクライアント キーをメモします。このクライアント キーは、SAP システムで BigQuery Toolkit for SAP の BigQuery Data Transfer 構成モジュールを構成するときに使用します。

BigQuery データセットを作成する

BigQuery データセットを作成するには、ユーザー アカウントに、BigQuery に対する適切な IAM 権限が必要です。詳細については、必要な権限をご覧ください。

BigQuery データセットの作成手順は次のとおりです。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    BigQuery に移動

  2. プロジェクト ID の横にある [アクションを表示] アイコン()をクリックし、[データセットを作成] をクリックします。

    データセットを作成

  3. [データセット ID] フィールドに一意の名前を入力します。詳細については、データセットに名前を付けるをご覧ください。

BigQuery データセットの作成の詳細については、データセットの作成をご覧ください。

BigQuery Data Transfer モジュールを構成する

BigQuery Toolkit for SAP の BigQuery Data Transfer モジュールを使用すると、SAP システムから BigQuery へのデータ パイプラインを構築できます。このプロセスでは、一括転送構成を作成します。この構成では、レプリケートする SAP データソースを指定し、SAP テーブルと BigQuery テーブル間でフィールドをマッピングし、データ レプリケーション設定を構成してパフォーマンスを最適化できます。

初期の一括転送オプションを選択する

編集する一括転送構成の部分を選択します。

一括転送構成の部分を選択するには、次の操作を行います。

  1. SAP GUI で、トランザクション コード /GOOG/SDK_IMG を実行します。

    または、トランザクション コード SPRO を実行して、[SAP Reference IMG] をクリックします。

  2. [ABAP SDK for Google Cloud] > [Basic Settings] > [BigQuery Data Transfer: Settings Maintenance] をクリックします。

  3. [Settings Table] プルダウン メニューから [Mass Transfers] を選択します。

    新しい転送構成の場合は、[Mass Transfer Key] フィールドを空白のままにします。

  4. [Execute] アイコンをクリックします。[BigQuery Data Transfer Settings Maintenance - Mass Transfers] 画面が表示されます。

テーブル作成とその他の一般的な属性を指定する

BigQuery の一括転送構成の最初のセクションで、一括転送構成を特定し、関連するクライアント キーと、ターゲット BigQuery テーブルの作成に関連する特定のプロパティを指定します。

SAP サーバーは、一括転送構成をレコードとして /GOOG/BQTR_MASTR カスタム構成テーブルに保存します。

次の手順で指定するフィールドは、一括転送の構成に必須です。

テーブル属性を指定するには、次の操作を行います。

  1. [BigQuery Data Transfer Settings Maintenance - Mass Transfers] 画面で、[Append Row] アイコンをクリックします。

  2. 表示された行で、次の設定を指定します。

    1. [Mass Transfer Key] フィールドで、この転送の名前を定義します。この名前が一括転送の主キーになります。
    2. BigQuery でターゲット フィールドの名前としてソース フィールドのラベルまたは簡単な説明を使用するには、[Use Custom Names Flag] チェックボックスをオンにします。フィールド名の詳細については、フィールドのデフォルトの命名オプションをご覧ください。
    3. 挿入をトリガーした変更の種類を保存し、ソーステーブル、SAP サーバー統計情報、BigQuery テーブル間のレコード数の検証を有効にするには、[Extra Fields Flag] チェックボックスをオンにします。

      このフラグを設定すると、BigQuery Toolkit for SAP は BigQuery テーブル スキーマに列を追加します。詳細については、レコード変更とカウントクエリ用の追加フィールドをご覧ください。

    4. データエラーのあるレコードが発生したときにデータの送信を停止するため、[Break at First Error Flag] チェックボックスはデフォルトでオンになっています。このチェックボックスはオンのままにすることをおすすめします。詳細については、BREAK フラグをご覧ください。

    5. また、チャンクのバイトサイズが BigQuery で許可される HTTP リクエストの最大バイトサイズを超えた場合にチャンクサイズを自動的に小さくするには、[Dynamic Chunk Size Flag] チェックボックスをオンにします。動的チャンクサイズの詳細については、動的チャンクサイズをご覧ください。

    6. データエラーのあるレコードが検出されたときに、レコードをスキップして BigQuery テーブルにレコードを挿入し続けるには、[Skip Invalid Records Flag] チェックボックスをオンにします。これは、オフのままにすることをおすすめします。詳細については、SKIP フラグをご覧ください。

    7. [Google Cloud Key Name] フィールドに、対応するクライアント キー構成の名前を入力します。

      BigQuery Toolkit for SAP は、クライアント キー構成からプロジェクト ID を取得します。 Google Cloud

    8. [BigQuery Dataset] フィールドに、BigQuery データセットを作成するで作成したターゲット BigQuery データセットの名前を入力します。

    9. [Is Setting Active Flag] フィールドで、チェックボックスをオンにして一括転送構成を有効にします。

    10. [保存] をクリックします。

      一括転送レコードは /GOOG/BQTR_MASTR テーブルに追加され、[Changed By]、[Changed On]、[Changed At] フィールドに自動的に値が挿入されます。

    11. [Display Table] をクリックします。

      新しい一括転送レコードが表示され、その後にテーブル属性のエントリパネルが表示されます。

テーブル属性を指定する

テーブル名やテーブルのパーティショニングなどのテーブル属性や、各転送に含めるレコード数や BigQuery に送信されるチャンクを指定できます。

指定した設定は、レコードとして /GOOG/BQTR_TABLE 構成テーブルに保存されます。

これらの設定は一括転送の構成では省略可能です。

テーブル属性を指定するには、次の操作を行います。

  1. 行を追加アイコンをクリックします。

  2. [SAP Data Source Name] フィールドに、ソース SAP ディクショナリ オブジェクトの名前(テーブル、ディクショナリ ビュー、CDS ビュー、CDS エンティティなど)を入力します。

  3. [External Table Name] フィールドに、ターゲット BigQuery テーブルの名前を入力します。ターゲット テーブルが存在しない場合、BigQuery Toolkit for SAP は、この名前のテーブルを作成します。BigQuery のテーブル命名規則については、テーブルの命名をご覧ください。

  4. テーブル内のすべてのフィールドの非圧縮データを送信するには、非圧縮送信フラグを選択します。この設定を有効にすると、BigQuery Toolkit for SAP はソーステーブルでフィールドが初期化された値を使用して、ソースレコードの空のフィールドをすべて複製します。パフォーマンスを向上させるには、このフラグを選択しないでください。

    特定のフィールドのみの非圧縮データを送信する必要がある場合は、テーブルレベルで非圧縮送信フラグを選択しないでください。代わりに、該当フィールドに対して、非圧縮送信フラグをフィールドレベルで選択します。このオプションを使用すると、テーブルの残りのデータを圧縮する場合でも、BigQuery にデータを複製するときに特定のフィールドの初期値を保持できます。フィールドレベルでレコードの圧縮を変更する方法については、フィールドレベルでレコード圧縮を変更するをご覧ください。

    レコード圧縮の動作の詳細については、レコードの圧縮をご覧ください。

  5. 必要に応じて、[Chunk Size] フィールドに、BigQuery に送信される各チャンクに含めるレコードの最大数を指定します。BigQuery Toolkit for SAP ではデフォルトのチャンクサイズ(10,000 レコード)を使用することをおすすめします。必要に応じて、チャンクサイズを 50,000 レコードまで増やすことができます。これは、BigQuery Toolkit for SAP で許可されている最大チャンクサイズです。

    ソースレコードに多くのフィールドがある場合、フィールド数によってはチャンクの全体的なバイトサイズが増加し、チャンクエラーが発生することがあります。この場合は、チャンクサイズを小さくしてバイトサイズを減らしてみてください。詳細については、データ転送のチャンクサイズをご覧ください。チャンクサイズを自動的に調整するには、動的チャンクサイズを有効にします。詳細については、動的チャンクサイズをご覧ください。

  6. 必要に応じて、[Partition Type] フィールドで、パーティショニングに使用する時間の増分を指定します。有効な値は HOURDAYMONTH、または YEAR です。詳細については、テーブル パーティショニングをご覧ください。

  7. 必要に応じて、[Partition Field] フィールドに、ターゲット BigQuery テーブルでパーティショニングに使用するタイムスタンプを含むフィールド名を指定します。[Partition Field] を指定する場合は、[Partition Type] も指定する必要があります。詳細については、テーブル パーティショニングをご覧ください。

  8. [アクティブフラグを設定] フィールドで、チェックボックスをクリックしてテーブル属性を有効にします。[Is Setting Active Flag] ボックスがオンでない場合、BigQuery Toolkit for SAP は、SAP ソーステーブルの名前とデフォルトのチャンクサイズを使用して、パーティショニングは行わずに BigQuery テーブルを作成します。

  9. [保存] をクリックします。

    属性はレコードとして /GOOG/BQTR_TABLE 構成テーブルに保存され、[Changed By]、[Changed On]、[Changed At] の各フィールドに自動的に挿入されます。

  10. [Display Fields] をクリックします。

    新しいテーブル属性レコードが表示され、その後にフィールド マッピングのエントリパネルが表示されます。

デフォルトのフィールド マッピングをカスタマイズする

ソース SAP テーブルにタイムスタンプ フィールドやブール値が含まれている場合は、ターゲット BigQuery テーブルのデータタイプを正確に反映するように、デフォルトのデータ型マッピングを変更します。

他のデータ型やターゲット フィールドの名前を変更することもできます。

デフォルトのマッピングは SAP GUI で直接編集できます。他のユーザーが SAP サーバーにアクセスせずに値を編集できるように、デフォルトのマッピングをスプレッドシートまたはテキスト ファイルにエクスポートすることもできます。

デフォルトのフィールド マッピングと実施できる変更の詳細については、フィールド マッピングをご覧ください。

ターゲット BigQuery フィールドのデフォルト マッピングをカスタマイズするには、次の操作を行います。

  1. [BigQuery Data Transfer Settings Maintenance - Fields] 画面で、構成している一括転送のデフォルト フィールド マッピングを表示します。

  2. 必要に応じて、[External Data Element] 列でデフォルトのターゲット データ型を編集します。特に、以下のデータ型のターゲット データ型を変更します。

    • タイムスタンプ。デフォルトのターゲット データ型を、NUMERIC から TIMESTAMP または TIMESTAMP (LONG) に変更します。
    • ブール値。デフォルトのターゲット データ型を STRING から BOOLEAN に変更します。
    • 16 進数。デフォルトのターゲット データ型を STRING から BYTES に変更します。

    デフォルトのデータ型マッピングを編集するには:

    1. 編集が必要なフィールドの行で、[External Data Element] フィールドをクリックします。
    2. データ型のダイアログで、必要な BigQuery データ型を選択します。
    3. 変更内容を確認し、[Save] をクリックします。
  3. [BigQuery Data Transfer Settings Maintenance] 画面で [Custom Names] フラグを指定した場合は、必要に応じて [Temporary Field Name] 列のデフォルトのターゲット フィールド名を編集します。

    指定した値は、[External Field Name] 列に表示されるデフォルトの名前をオーバーライドします。

  4. 必要に応じて、[Field Description] 列のデフォルトのターゲット フィールドの説明を編集します。

  5. 必要に応じて、外部編集用にフィールド マップをエクスポートします。手順については、CSV ファイルで BigQuery のフィールド マップを編集するをご覧ください。

  6. すべての変更が完了し、外部で編集された値がアップロードされたら、[Is Setting Active Flag] チェックボックスがオンになっていることを確認します。[Is Setting Active Flag] が選択されていない場合、BigQuery Toolkit for SAP はデフォルト値を使用してターゲット テーブルを作成します。

  7. [保存] をクリックします。

    変更は、/GOOG/BQTR_FIELD 構成テーブルに保存され、[Changed By]、[Changed On]、[Changed At] フィールドに自動的に挿入されます。

フィールドレベルでレコード圧縮を変更する

レプリケーションのパフォーマンスを向上させるため、BigQuery Toolkit for SAP は、ソースレコード内の空のフィールドをすべて省略してレコードを圧縮します。これらのフィールドは、BigQuery のターゲット テーブルで null で初期化されます。ただし、レコード圧縮を使用しつつも、一部の空のフィールドを初期値のままで BigQuery に複製する必要がある場合は、その特定のフィールドに非圧縮送信フラグを選択できます。

レコード圧縮の動作の詳細については、レコードの圧縮をご覧ください。

フィールドレベルでレコード圧縮を変更するには、次の操作を行います。

  1. [BigQuery Data Transfer Settings Maintenance - Fields] 画面で、一括転送を構成するテーブルのフィールドのリストを表示します。

  2. フィールドの非圧縮データを送信するには、フィールドに対応する非圧縮送信フラグを選択します。

  3. [保存] をクリックします。

サポートを受ける

Google Cloud は、BigQuery Toolkit for SAP のインストール、構成、運用、メンテナンスに関連する問題や質問に対応します。ただし、サポートはツールキット自体に限定されます。

Google Cloud は、ネットワーク インフラストラクチャ、データベース、オペレーティング システム、サードパーティ ソフトウェアなどの他の環境コンポーネントはサポートしていません。BigQuery Toolkit for SAP 以外の環境コンポーネントに関する問題については、適切なベンダーまたはサポート プロバイダにお問い合わせください。

SAP が提供する機能(Operational Data Provisioning(ODP)や SAP Landscape Transformation(SLT)など)については、SAP サポートにお問い合わせください。

BigQuery Toolkit for SAP に関する問題のトラブルシューティングについては、BigQuery Toolkit for SAP のトラブルシューティングをご覧ください。

ABAP SDK for Google Cloud の問題を解決するには、次の操作を行います。