各製品の資料を入手。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Elasticsearch は、人気の分散型全文検索エンジンです。データを一元的に格納することで、超高速検索や、関連性の細かな調整、パワフルな分析が大規模に、手軽に実行可能になります。Elasticsearch にはデータのローディングを行うパイプラインツール「Logstash」があります。CData Drivers を利用することができるので、30日の無償評価版をダウンロードしてあらゆるデータソースを簡単にElasticsearch に取り込んで検索・分析を行うことができます。
この記事では、CData Driver for Excel を使って、Excel のデータをLogstash 経由でElasticsearch にロードする手順を説明します。
それでは、Logstash でElasticsearch にExcel のデータの転送を行うための設定ファイルを作成していきます。
Authentication セクションのExcelFile には有効なExcel ファイルを設定する必要があります。
URI をバケット内のExcel ファイルに設定します。さらに、次のプロパティを設定して認証します。
URI をExcel ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。
URI をExcel ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。
URI をExcel ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。
URI をExcel ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。
URI をExcel ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。
デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。
input { jdbc { jdbc_driver_library => "../logstash-core/lib/jars/cdata.jdbc.excel.jar" jdbc_driver_class => "Java::cdata.jdbc.excel.ExcelDriver" jdbc_connection_string => "jdbc:excel:Excel File='C:/MyExcelWorkbooks/SampleWorkbook.xlsx';" jdbc_user => "" jdbc_password => "" schedule => "*/30 * * * * *" statement => "SELECT Name, Revenue FROM Sheet" } } output { Elasticsearch { index => "excel_Sheet" document_id => "xxxx" } }
それでは作成した「logstash.conf」ファイルを元にLogstash を実行してみます。
> logstash-7.8.0\bin\logstash -f logstash.conf
成功した旨のログが出ます。これでExcel のデータがElasticsearch にロードされました。
例えばKibana で実際にElasticsearch に転送されたデータを見てみます。
GET excel_Sheet/_search { "query": { "match_all": {} } }
データがElasticsearch に格納されていることが確認できました。
CData JDBC Driver for Excel をLogstash で使うことで、Excel コネクタとして機能し、簡単にデータをElasticsearch にロードすることができました。ぜひ、30日の無償評価版をお試しください。