HDFS のデータをDevExpress Data Grid にデータバインドする。

加藤龍彦
加藤龍彦
デジタルマーケティング
HDFS 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、HDFS をチャートに入力します。

HDFS 用の CData ADO.NET プロバイダーはサードパーティーコントロールで使うことのできる通常のADO.NET データベースアクセスコンポーネントを実装しています。データバインドするための通常のADO.NET プロセスに従うことで、UI コントロールから実データへの双方向アクセスを可能にします。 この記事では、CData を使ってDevExpress Windows Forms とウェブコントロールにデータバインドする方法を説明します。ここでは、最新のデータを表示するチャートにデータバインドします。

HDFS 接続プロパティの取得・設定方法

HDFS への認証には、次の接続プロパティを設定します。

  • Host:HDFS インスタンスのホストに設定。
  • Port:HDFS インスタンスのポートに設定。デフォルトのポートは"9870" です。

Windows Forms コントロール

下のコードでは、HDFS でDevExpress のチャートに追加する方法を説明します。HDFSDataAdapter はチャートコントロールのSeries プロパティにバインドします。コントロールのDiagram プロパティはx 軸とy 軸をカラム名として定義します。

using (HDFSConnection connection = new HDFSConnection(
"Host=sandbox-hdp.hortonworks.com;Port=50070;Path=/user/root;User=root;")) {
  HDFSDataAdapter dataAdapter = new HDFSDataAdapter(
  "SELECT FileId, ChildrenNum FROM Files WHERE FileId = '119116'", connection);

  DataTable table = new DataTable();
  dataAdapter.Fill(table);
  DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series();
  chartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "ChildrenNum" });
  series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
  series.ArgumentDataMember = "FileId";
  series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical;
  chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
  ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
The complete code example and the resulting chart.

Web コントロール

下のコードではHDFS でDevExpress Web を操作するための設定方法を説明します。HDFSDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。

using DevExpress.XtraCharts;

using (HDFSConnection connection = new HDFSConnection(
"Host=sandbox-hdp.hortonworks.com;Port=50070;Path=/user/root;User=root;"))
{
  HDFSDataAdapter HDFSDataAdapter1 = new HDFSDataAdapter("SELECT FileId, ChildrenNum FROM Files WHERE FileId = '119116'", connection);
  DataTable table = new DataTable();
  HDFSDataAdapter1.Fill(table);
  DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
  WebChartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "ChildrenNum" });
  series.ArgumentScaleType = ScaleType.Qualitative;
  series.ArgumentDataMember = "FileId";
  series.ValueScaleType = ScaleType.Numerical;
  ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
An ASP.NET application created with the ADO.NET Provider and the DevExpress Web Forms control.(Salesforce is shown.)

はじめる準備はできましたか?

HDFS Data Provider の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

HDFS Icon HDFS ADO.NET Provider お問い合わせ

HDFS データに連携する.NET アプリケーションを素早く、簡単に開発できる便利なドライバー。