Ready to get started?

Learn more about the CData JDBC Driver for SFTP or download a free trial:

Download Now

SFTP Data をR で分析

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



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

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 データソースとしてSFTP に接続

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

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

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

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

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

conn <- dbConnect(driver,"RemoteHost=MyFTPServer;")

SFTP can be used to transfer files to and from SFTP servers using the SFTP Protocol. To connect, specify the RemoteHost;. service uses the User and Password and public key authentication (SSHClientCert). Choose an SSHAuthMode and specify connection values based on your selection.

Set the following connection properties to control the relational view of the file system:

  • RemotePath: Set this to the current working directory.
  • TableDepth: Set this to control the depth of subfolders to report as views.
  • FileRetrievalDepth: Set this to retrieve files recursively and list them in the Root table.
Stored Procedures are available to download files, upload files, and send protocol commands. See gdatamodel for more on using SQL to interact with the server.

スキーマ Discovery

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

dbListTables(conn)

SQL クエリの実行

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

mydirectory <- dbGetQuery(conn,"SELECT Filesize, Filename FROM MyDirectory WHERE FilePath = /documents/doc.txt")

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

View(mydirectory)

SFTP Data をプロット

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

par(las=2,ps=10,mar=c(5,15,4,2)) barplot(mydirectory$Filename, main="SFTP MyDirectory", names.arg = mydirectory$Filesize, horiz=TRUE)
 
 
ダウンロード