ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CSV Driver の30日間無償トライアルをダウンロード
30日間の無償トライアルへCData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
PostgreSQL には多くの対応クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータ接続の人気のインターフェースです。JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。
CSV にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for CSV とJDBC foreign data wrapper (FDW) を使用します。この記事ではFDW をコンパイルしてインストールし、PostgreSQL サーバーからCSV にクエリを実行します。
JDBC データソースとしてCSV に接続するには、以下が必要です。
Driver クラス
cdata.jdbc.csv.CSVDriver
DataSource プロパティにローカルフォルダ名を設定します。
.csv、.tab、.txt ではない拡張子のファイルを扱う場合には、IncludeFiles 使用する拡張子をカンマ区切りで設定します。Microsoft Jet OLE DB 4.0 driver 準拠の場合にはExtended Properties を設定することができます。別の方法として、Schema.ini ファイルにファイル形式を記述することも可能です。
CSV ファイルの削除や更新を行う場合には、UseRowNumbers をTRUE に設定します。RowNumber はテーブルKey として扱われます。
URI をバケットおよびフォルダに設定します。さらに、次のプロパティを設定して認証します。
URI をCSV ファイルを含むフォルダへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。
URI をCSV ファイルを含むフォルダへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。
URI をCSV ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。
URI をCSV ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。
URI をルートフォルダとして使用されるフォルダへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。
デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。
JDBC URL の構成については、CSV JDBC Driver に組み込まれている接続文字列デザイナを使用できます。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.csv.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:csv:DataSource=MyCSVFilesFolder;
FDW は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。例としてjdbc2_fdw 拡張子を使用します。
ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
make install USE_PGXS=1
拡張機能をインストールした後、以下のステップに従ってCSV へのクエリの実行を開始します。
CREATE EXTENSION jdbc2_fdw;
CREATE SERVER CSV
FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS (
drivername 'cdata.jdbc.csv.CSVDriver',
url 'jdbc:csv:DataSource=MyCSVFilesFolder;',
querytimeout '15',
jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.csv.jar');
CREATE USER MAPPING for postgres SERVER CSV OPTIONS (
username 'admin',
password 'test');
postgres=# CREATE FOREIGN TABLE customer (
customer_id text,
customer_City text,
customer_TotalDue numeric)
SERVER CSV OPTIONS (
table_name 'customer');
postgres=# SELECT * FROM customer;
このようにCData JDBC Driver for CSV を使って簡単にCSV データを取得して検索対象にすることができました。ぜひ、30日の無償評価版 をお試しください。