HDFS
HDFS コネクタを使用すると、HDFS データに対して挿入、削除、更新、読み取りのアクションを実行できます。
サポート対象のバージョン
このコネクタは、HDFS Hadoop バージョン 3.4.0 をサポートしています。
始める前に
HDFS コネクタを使用する前に、次の作業を行います。
- Google Cloud プロジェクトで次の操作を行います。
- コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
- コネクタに使用するサービス アカウントに、次の IAM ロールを付与します。
roles/secretmanager.viewerroles/secretmanager.secretAccessor
サービス アカウントは特別なタイプの Google アカウントで、Google API のデータにアクセスするのに認証を受ける必要がある人間以外のユーザーを表します。サービス アカウントがない場合は、サービス アカウントを作成する必要があります。コネクタとサービス アカウントは同じプロジェクトに属している必要があります。詳細については、サービス アカウントを作成するをご覧ください。
- 次のサービスを有効にします。
secretmanager.googleapis.com(Secret Manager API)connectors.googleapis.com(Connectors API)
サービスを有効にする方法については、サービスを有効にするをご覧ください。
以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。
コネクタを構成する
接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。
- Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。
- [+ 新規作成] をクリックして [接続の作成] ページを開きます。
- [ロケーション] セクションで、接続のロケーションを選択します。
- リージョン: プルダウン リストからロケーションを選択します
サポートされているすべてのリージョンのリストについては、ロケーションをご覧ください。
- [NEXT] をクリックします。
- リージョン: プルダウン リストからロケーションを選択します
- [接続の詳細] セクションで、次の操作を行います。
- コネクタ: 使用可能なコネクタのプルダウン リストから [HDFS] を選択します。
- コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
- [接続名] フィールドに、接続インスタンスの名前を入力します。
接続名は次の条件を満たす必要があります。
- 接続名には英字、数字、ハイフンを使用できます。
- 文字は小文字のみを使用できます。
- 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
- 接続名は 49 文字以内で指定してください。
- 必要に応じて、接続インスタンスの [説明] を入力します。
- 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトのログレベルは
Errorに設定されています。 - サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
- パス: 作業ディレクトリとして使用する HDFS パスを指定します。
- 必要に応じて、接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
- [NEXT] をクリックします。
- [宛先] セクションに、接続するリモートホスト(バックエンド システム)の詳細を入力します。
- 宛先の種類: 宛先の種類を選択します。
- 宛先のホスト名または IP アドレスを指定するには、[ホストアドレス] を選択し、[ホスト 1] フィールドにアドレスを入力します。
- プライベート接続を確立するには、[エンドポイント アタッチメント] を選択し、[エンドポイント アタッチメント] リストから必要なアタッチメントを選択します。
セキュリティをさらに強化してバックエンドシステムへのパブリック接続を確立する場合は、接続用の静的アウトバウンド IP アドレスの構成を検討してから、特定の静的 IP アドレスのみを許可リストに登録するようファイアウォール ルールを構成します。
他の宛先を入力するには、[+ 宛先を追加] をクリックします。
- [NEXT] をクリックします。
- 宛先の種類: 宛先の種類を選択します。
-
[認証] セクションで、認証の詳細を入力します。
- [認証タイプ] を選択し、関連する詳細を入力します。
HDFS 接続でサポートされる認証タイプは次のとおりです。
- ユーザー名とパスワード
これらの認証タイプの構成方法については、認証を構成するをご覧ください。
- [NEXT] をクリックします。
- [認証タイプ] を選択し、関連する詳細を入力します。
- Review: 接続と認証の詳細を確認します。
- [作成] をクリックします。
認証を構成する
使用する認証に基づいて詳細を入力します。
-
ユーザー名とパスワード
- ユーザー名: HDFS 接続に使用するユーザー名を入力します。
- パスワード : ユーザー名に関連付けられたパスワードを含む Secret Manager の Secret を入力します。
- シークレット バージョン: 上で選択したシークレットのシークレット バージョンを選択します。
接続構成のサンプル
このセクションでは、接続の作成時に構成するさまざまなフィールドのサンプル値を示します。
ユーザー名とパスワードの接続タイプ
| フィールド名 | 詳細 |
|---|---|
| ロケーション | europe-west1 |
| コネクタ | HDFS |
| コネクタのバージョン | 1 |
| 接続名 | hdfs-v24-new |
| サービス アカウント | my-service-account@my-project.iam.gserviceaccount.com |
| ノードの最小数 | 2 |
| ノードの最大数 | 2 |
| 宛先の種類 | ホストアドレス |
| ホスト | 10.128.0. |
| port1 | 10000 |
| ユーザー名 | ユーザー 1 |
| パスワード | パスワード |
| シークレット バージョン | 1 |
システムの上限
HDFS コネクタは、ノードごとに 1 秒あたり最大 20 件のトランザクションを処理し、この上限を超えるトランザクションをスロットル調整します。デフォルトでは、Integration Connectors は、接続に 2 つのノードを割り当てます(可用性を高めるため)。
Integration Connectors に適用される上限の詳細については、上限をご覧ください。
統合で HDFS 接続を使用する
接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。
- Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
- Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
操作
このセクションでは、このコネクタでアクションの一部を実行する方法について説明します。
MakeDirectory アクション
このアクションにより、指定されたパスにディレクトリが作成されます。
MakeDirectory アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| 権限 | 文字列 | 誤り | 新しいディレクトリを作成する権限。 |
| パス | 文字列 | 正しい | 新しいディレクトリのパス。 |
MakeDirectory アクションの構成例については、例をご覧ください。
ListStatus アクション
このアクションは、指定されたパスの内容を一覧表示します。
ListStatus アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| パス | 文字列 | 正しい | ファイルのパス。 |
ListStatus アクションの構成例については、例をご覧ください。
GetHomeDirectory アクション
このアクションは、現在のユーザーのホーム ディレクトリを取得します。
GetHomeDirectory アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| connectorInputPayload | JSON | 正しい | コネクタの入力ペイロード。 |
GetHomeDirectory アクションの構成例については、例をご覧ください。
DeleteFile アクション
このアクションにより、ファイルまたはディレクトリが削除されます。
DeleteFile アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| パス | 文字列 | 正しい | ファイルのパス。 |
| Recursive | ブール値 | 誤り | フォルダのサブフォルダを削除するかどうかを指定します。 |
DeleteFile アクションの構成例については、例をご覧ください。
GetContentSummary アクション
このアクションは、ファイルまたはフォルダのコンテンツの概要を取得します。
GetContentSummary アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| パス | 文字列 | 正しい | ファイルまたはフォルダのパス。 |
GetContentSummary アクションの構成例については、例をご覧ください。
RenameFile アクション
このアクションにより、ファイルまたはディレクトリの名前が変更されます。
RenameFile アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| パス | 文字列 | 正しい | ファイルのパス。 |
| destination | 文字列 | 正しい | ファイルの新しい名前とパスを指定します。 |
RenameFile アクションの構成例については、例をご覧ください。
SetPermission アクション
このアクションは、パスの権限を設定します。
SetPermission アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| パス | 文字列 | 正しい | ファイルのパス。 |
| 権限 | 文字列 | 正しい | Unix 権限を 8 進数表記で指定します。 |
SetPermission アクションの構成例については、例をご覧ください。
SetPermission アクション
このアクションは、パスの権限を設定します。
SetPermission アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| パス | 文字列 | 正しい | ファイルのパス。 |
| 権限 | 文字列 | 正しい | Unix 権限を 8 進数表記で指定します。 |
SetPermission アクションの構成例については、例をご覧ください。
SetOwner アクション
このアクションは、パスのオーナーとグループを設定します。
SetOwner アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| パス | 文字列 | 正しい | ファイルのパス。 |
| オーナー | 文字列 | 正しい | パスの新しいオーナー。 |
| グループ | 文字列 | 誤り | 新しいグループの名前。 |
SetOwner アクションの構成例については、例をご覧ください。
UploadFile アクション
このアクションは、ファイルをアップロードします。
UploadFile アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| パス | 文字列 | 正しい | ファイルのパス。 |
| コンテンツ | 文字列 | 正しい | アップロードされたファイルの内容。 |
UploadFile アクションの構成例については、例をご覧ください。
DownloadFile アクション
このアクションでは、ファイルをダウンロードします。
DownloadFile アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| パス | 文字列 | 正しい | ファイルのパス。 |
| WriteToFile | 文字列 | 誤り | 出力が書き込まれるファイルのローカルの場所。 |
DownloadFile アクションの構成例については、例をご覧ください。
AppendToFile アクション
このアクションは、ファイルを付加します。
AppendToFile アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| パス | 文字列 | 正しい | ファイルのパス。 |
| コンテンツ | 文字列 | 正しい | ファイルに追加するコンテンツ。 |
AppendToFile アクションの構成例については、例をご覧ください。
GetFileChecksum アクション
このアクションは、ファイルのチェックサムを取得します。
GetFileChecksum アクションの入力パラメータ
| パラメータ名 | データ型 | 必須 | 説明 |
|---|---|---|---|
| パス | 文字列 | 正しい | ファイルのパス。 |
GetFileChecksum アクションの構成例については、例をご覧ください。
アクションの例
このセクションでは、このコネクタでアクションの例の一部を実行する方法について説明します。
例 - ディレクトリを作成する
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
MakeDirectory] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{ "Path": "/user/hduser" }
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[{
"Success": true
}]
例 - ホーム ディレクトリを取得する
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
GetHomeDirectory] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{}
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[{
"Path": "/user/hduser"
}]
例 - ファイルを削除する
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
DeleteFile] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{ "Path": "/user/hduser/testFile" }
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[{
"Success": true
}]
例 - ファイルのステータスを一覧表示する
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
ListStatus] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{ "path": "/user/hduser/deletefile" }
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[{
"fileId": 16471.0,
"PathSuffix": "data.txt",
"owner": "hduser",
"group": "supergroup",
"length": 38.0,
"permission": "644",
"replication": 1.0,
"storagePolicy": 0.0,
"childrenNum": 0.0,
"blockSize": 1.34217728E8,
"modificationTime": "2024-08-16 16:12:01.921",
"accessTime": "2024-08-16 16:12:01.888",
"type": "FILE"
}, {
"fileId": 16469.0,
"PathSuffix": "file2.txt",
"owner": "hduser",
"group": "supergroup",
"length": 53.0,
"permission": "644",
"replication": 1.0,
"storagePolicy": 0.0,
"childrenNum": 0.0,
"blockSize": 1.34217728E8,
"modificationTime": "2024-08-16 16:12:01.762",
"accessTime": "2024-08-16 16:12:01.447",
"type": "FILE"
}]
例 - ファイルのコンテンツの概要を取得する
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
GetContentSummary] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{ "Path": "/user/hduser/appendtofile" }
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[{
"DirectoryCount": "1",
"FileCount": "1",
"Length": 52.0,
"Quota": -1.0,
"SpaceConsumed": 52.0,
"SpaceQuota": -1.0,
"ecpolicy": "",
"snapshotdirectorycount": "0",
"snapshotfilecount": "0",
"snapshotlength": "0",
"snapshotspaceconsumed": "0"
}]
例 - ファイルの名前を変更する
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
hdfs_RenameFile_action] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{ "Path": "/user/hduser/renamefile_second/file1.txt", "Destination": "/user/hduser/renamefile_second/file1rename" }
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[{
"Success": true
}]
例 - ファイルの権限を設定する
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
SetPermission] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{ "Path": "/user/hduser/gcpdirectory", "Permission": "777" }
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[{
"Success": true
}]
例 - ファイルのオーナーを設定する
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
SetOwner] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{ "Path": "/user/hduser/gcpdirectory", "Owner": "newowner" }
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[{
"Success": true
}]
例 - ファイルをアップロードする
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
UploadFile] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{ "Path": "/user/newfile9087.txt", "Content": "string" }
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[{
"Success": true
}]
例 - ファイルをダウンロードする
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
DownloadFile] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{ "Path": "/user/sampleFile/file1.txt" }
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[ { "Output": "This is sample File\nfor this testing\ncontent" } ]
例 - ファイルを追加する
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
AppendToFile] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{ "Path": "/user/sampleFile/file1.txt", "Content": "content" }
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[ { "Success": true } ]
例 - ファイルのチェックサムを取得する
- [
Configure connector task] ダイアログで、[Actions] をクリックします。 - [
GetFileChecksum] アクションを選択してから、[完了] をクリックします。 - [データ マッピング] セクションで
Open Data Mapping Editorをクリックし、Inputフィールドに次のような値を入力します。{ "Path": "/user/sampleFile/file1.txt" }
アクションが成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。
[ { "Algorithm": "MD5-of-0MD5-of-512CRC32C", "Bytes": "00000200000000000000000080f5b53ae8c165ae56e86109b8bb2a1700000000", "Length": 28 } ]
エンティティ オペレーションの例
このセクションでは、このコネクタでエンティティ オペレーションの一部を実行する方法について説明します。
例 - すべてのファイルのデータを一覧表示する
この例では、Files エンティティ内のすべてのファイルのデータを取得します。
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからObjectを選択します。- [
List] オペレーションを選択してから、[完了] をクリックします。
例 - 権限のデータを取得する
この例では、Permission エンティティから、指定した ID の権限のデータを取得します。
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからPermissionを選択します。- [
Get] オペレーションを選択してから、[完了] をクリックします。 - [コネクタタスクの [タスク入力 セクションで [entityId] をクリックし、[デフォルト値] フィールドに
/user/hduser/appendfileを入力します。ここで、
/user/hduser/appendfileはPermissionエンティティ内の一意の ID です。
Google Cloud コミュニティの助けを借りる
Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。次のステップ
- 接続を一時停止して再開する方法を確認する。
- コネクタの使用状況をモニタリングする方法を確認する。
- コネクタログを表示する方法を確認する。