Cmdlets for HDFS

Build 25.0.9434

接続の確立

CData Cmdlets ユーザーは、データモジュールをインストールし、接続プロパティを設定してスクリプトを開始できます。このセクションでは、CSV インポートおよびエクスポートcmdlet などのネイティブPowerShell cmdlet でHDFS Cmdlets を使用する例を示します。

HDFS への接続

接続するには、以下の接続プロパティを設定します。

  • Host:HDFS インストールのホストに設定。
  • Port:HDFS インストールのポートに設定。デフォルトポート:9870
  • UseSSL:(オプション)HDFS サーバーへのTLS/SSL 接続をネゴシエートするには、この値を'True' に設定します。デフォルト:'False'

HDFS への認証

There are two authentication methods available for connecting to the HDFS data source, Anonymous Authentication and Negotiate (Kerberos) Authentication.

Anonymous Authentication

In some situations, HDFS may be connected to without any authentication connection properties. To do so, set the AuthScheme to None (default).

Kerberos

When authentication credentials are required, you can use Kerberos. Kerberos で認証する方法についての詳細は、Kerberos の使用 を参照してください。

接続オブジェクトの作成

Connect-HDFS cmdlet を使って、別のcmdlet に渡すことができる接続オブジェクトを作成します。

$conn = Connect-HDFS -Host "sandbox-hdp.hortonworks.com" -Port "9870" -Path "/user/root"

データの取得

Select-HDFS cmdlet はデータを取得するためのネイティブなPowerShell インターフェースを提供します。

$results = Select-HDFS -Connection $conn -Table "Files" -Columns @("FileId, ChildrenNum") -Where "FileId='119116'"
Invoke-HDFS cmdlet はSQL インターフェースを提供します。このcmdlet を使うと、Query パラメータを介してSQL クエリを実行できます。

cmdlet 出力のパイプ処理

cmdlet は行オブジェクトをパイプラインに一度に一行ずつ返します。以下は、結果をCSV ファイルにエクスポートします。

Select-HDFS -Connection $conn -Table Files -Where "FileId = '119116'" | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\myFilesData.csv -NoTypeInformation

Select-HDFS からの結果をSelect-Object cmdlet にパイプして、Export-CSV cmdlet にパイプする前にいくつかのプロパティを実行していることがわかるでしょう。これをする理由は、CData Cmdlets は接続、テーブル、およびカラムの情報を結果セットの各行オブジェクトに追加しますが、必ずしもその情報がCSV ファイルに必要ではないからです。

ただし、これによってcmdlet の出力を別のcmdlet にパイプすることが容易になります。以下に、結果セットをJSON に変換する例を示します。

 
PS C:\> $conn  = Connect-HDFS -Host "sandbox-hdp.hortonworks.com" -Port "9870" -Path "/user/root"
PS C:\> $row = Select-HDFS -Connection $conn -Table "Files" -Columns (FileId, ChildrenNum) -Where "FileId = '119116'" | select -first 1
PS C:\> $row | ConvertTo-Json
{
  "Connection":  {

  },
  "Table":  "Files",
  "Columns":  [

  ],
  "FileId":  "MyFileId",
  "ChildrenNum":  "MyChildrenNum"
} 

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9434