製品をチェック

HubDB Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

HubDB アイコン HubDB JDBC Driver 相談したい

HubDB データと連携するパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。

HubDB データをR で分析

CData JDBC Driver で標準的なR 関数とお好みの開発環境を使ってHubDB を分析。

加藤龍彦
デジタルマーケティング

最終更新日:2023-09-21
hubdb ロゴ

CData

jdbc ロゴ画像
R ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

Pure R スクリプトおよび 標準SQL を使って、R およびJava をインストール可能なあらゆるマシン上でHubDB にアクセス。CData JDBC Driver for HubDB とRJDBC package を使って、R でリモートHubDB データ を利用できます。CData Driver を使うことで、業界が認めた基準で書かれたドライバーを活用して、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってHubDB にSQL クエリを実行する方法、および標準R 関数を呼び出してHubDB をビジュアライズする方法について説明します。

R をインストール

マルチスレッドのMicrosoft R Open を実行すること、またはBLAS/LAPACK ライブラリにリンクされたオープン R を実行することによって、マルチスレッドおよびマネージドコードから利益を得られたドライバーのパフォーマンスにマッチできます。ここでは、Microsoft R Open 3.2.3 を使用します。CRAN レポジトリのJan. 1, 2016 snapshot からパッケージをインストールするために事前設定されています。このsnapshot は再現性を保証します。

RJDBC パッケージをロード

ドライバーを使うにはRJDBC パッケージをダウンロードします。RJDBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。

library(RJDBC)

JDBC データソースとしてHubDB に接続

下記の情報を使いHubDB にJDBC データソースとして接続します。

  • Driver Class:cdata.jdbc.hubdb.HubDBDriver に設定。
  • Classpath:Driver JAR の場所を設定します。デフォルトではインストールディレクトリの[lib]サブフォルダです。

dbConnect やdbSendQuery のようなDBI 関数は、R にデータアクセスコードを書くための統一インターフェースを提供します。

driver <- JDBC(driverClass = "cdata.jdbc.hubdb.HubDBDriver", classPath = "MyInstallationDir\lib\cdata.jdbc.hubdb.jar", identifier.quote = "'")

これで、DBI 関数を使ってHubDB に接続しSQL クエリを実行する準備が整いました。dbConnect 関数を使ってJDBC 接続を初期化します。一般的なJDBC 接続文字列は次のとおりです。

conn <- dbConnect(driver,"AuthScheme=OAuth;OAuthClientID=MyOAuthClientID;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;")

HubDBデータソースへの接続には、パブリックHubSpotアプリケーションを使用したOAuth認証とプライベートアプリケーショントークンを使用した認証の2つの方法があります。

カスタムOAuthアプリを使用する

すべてのOAuthフローでAuthSchemeを"OAuth"に設定する必要があります。特定の認証ニーズ(デスクトップアプリケーション、Webアプリケーション、ヘッドレスマシン)に必要な接続プロパティについては、ヘルプドキュメントを確認してください。

アプリケーションを登録し、OAuthクライアント認証情報を取得するには、以下の手順を実行してください。

  1. HubSpotアプリ開発者アカウントにログインします。
    • アプリ開発者アカウントである必要があります。標準のHubSpotアカウントではパブリックアプリを作成できません。
  2. 開発者アカウントのホームページで、アプリタブをクリックします。
  3. アプリを作成をクリックします。
  4. アプリ情報タブで、ユーザーが接続する際に表示される値を入力し、必要に応じて変更します。これらの値には、パブリックアプリケーション名、アプリケーションロゴ、アプリケーションの説明が含まれます。
  5. 認証タブで、「リダイレクトURL」ボックスにコールバックURLを入力します。
    • デスクトップアプリケーションを作成する場合は、http://localhost:33333のようなローカルにアクセス可能なURLに設定します。
    • Webアプリケーションを作成する場合は、ユーザーがアプリケーションを承認した際にリダイレクトされる信頼できるURLに設定します。
  6. アプリを作成をクリックします。HubSpotがアプリケーションとそれに関連する認証情報を生成します。
  7. 認証タブで、クライアントIDクライアントシークレットを確認します。これらは後でドライバーを設定する際に使用します。
  8. スコープの下で、アプリケーションの意図する機能に必要なスコープを選択します。

    テーブルにアクセスするには、最低限以下のスコープが必要です:

    • hubdb
    • oauth
    • crm.objects.owners.read
  9. 変更を保存をクリックします。
  10. 統合に必要な機能にアクセスできる本番ポータルにアプリケーションをインストールします。
    • 「インストールURL(OAuth)」の下で、完全なURLをコピーをクリックして、アプリケーションのインストールURLをコピーします。
    • コピーしたリンクをブラウザで開きます。アプリケーションをインストールする標準アカウントを選択します。
    • アプリを接続をクリックします。結果のタブは閉じて構いません。

プライベートアプリを使用する

HubSpotプライベートアプリケーショントークンを使用して接続するには、AuthSchemeプロパティを"PrivateApp"に設定します。

以下の手順に従ってプライベートアプリケーショントークンを生成できます:

  1. HubDBアカウントで、メインナビゲーションバーの設定アイコン(歯車)をクリックします。
  2. 左サイドバーメニューで、統合 > プライベートアプリに移動します。
  3. プライベートアプリを作成をクリックします。
  4. 基本情報タブで、アプリケーションの詳細(名前、ロゴ、説明)を設定します。
  5. スコープタブで、プライベートアプリケーションがアクセスできるようにしたい各スコープに対して読み取りまたは書き込みを選択します。
  6. テーブルにアクセスするには、最低限hubdbとcrm.objects.owners.readが必要です。
  7. アプリケーションの設定が完了したら、右上のアプリを作成をクリックします。
  8. アプリケーションのアクセストークンに関する情報を確認し、作成を続行をクリックし、その後トークンを表示をクリックします。
  9. コピーをクリックして、プライベートアプリケーショントークンをコピーします。

接続するには、PrivateAppTokenを取得したプライベートアプリケーショントークンに設定します。

スキーマ Discovery

ドライバーはHubDB API をリレーショナルデータベース、ビュー、ストアドプロシージャとしてモデルします。次のコードを使ってテーブルリストを検出します。

dbListTables(conn)

SQL クエリの実行

dbGetQuery 関数を使ってHubDB API がサポートするすべてのSQL クエリを実行できます:

northwindproducts <- dbGetQuery(conn,"SELECT PartitionKey, Name FROM NorthwindProducts WHERE Id = '1'")

次のコマンドを使って、結果を[data viewer]ウィンドウで見ることができます。

View(northwindproducts)

HubDB データ をプロット

CRAN レポジトリで利用可能なあらゆるデータ初期化パッケージを使ってHubDB を分析する準備が整いました。ビルトインバーのplot 関数を使って簡単なバーを作成できます。

par(las=2,ps=10,mar=c(5,15,4,2)) barplot(northwindproducts$Name, main="HubDB NorthwindProducts", names.arg = northwindproducts$PartitionKey, horiz=TRUE) A basic bar plot. (Salesforce is shown.)

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。