データ分析ツールでCSVファイルを利用する際、CSVへSELECT発行できる便利JDBC〜CDATAドライバをKNIMEで使ってみた〜


CSVデータにSELECTクエリをかけられるので、前処理としての必要データ抽出がめちゃくちゃ楽になります。
個人的に感動しました。

今回はKNIMEで以下に挑戦してます。

・CDATA JDBC CSVDriverとKNIME連携
・KNIMEで株価データCSV参照
・参照したCSVファイルの前処理として、データへSELECT発行
・SELECT結果をグラフ化

CDATA JDBC CSVDriverとKNIME連携

CDATA JDBC評価版のダウンロード手順は前回参照。
KNIMEでのJDBCドライバ設定は公式チュートリアル参照して進めます。

KNIME(すでに古めの3.3.2)を起動


File→Install KNIME Extensions

KNIME→Databases→ここでダウンロードしたCSVドライバを指定します。

KNIMEで株価データCSV参照

ワークフローへDatabase Reader を追加→右クリック→Configure

・Database Driver→追加したCSVドライバを指定
・Database URL→jdbc:csv:DataSource=CSVファイルのフォルダパス;

右下のDatabase Browser→Fetch Metadataクリック→読み込みたいCSVファイルをダブルクリック

SQL Statementへ反映されます。

ここでの注意点として、テーブル名から「.csv」を削除します。

FROM bb.csv
↓正しくは
FROM bb

参照したCSVファイルの前処理として、データへSELECT発行

「.csv」に注意しながらSQL文を作成します。
今回は単純にすでにある項目を選んでいます。

ここで条件指定やGROUP BYして必要な前処理ができてしまいます。
これがCSVファイルにできるのは、かなり便利です。

SELECT結果をグラフ化


Line Chartを追加し、折れ線グラフで表示します。


さいごに


・KNIMEでも元々エクセルファイルを読み込むことだけできる
・ただし、SELECT抽出するにはDBへ取り込む必要があり、その手間が面倒

CSVをサクサクと集め、それらを結合して抽出した結果をKNIME(だけに限らないのですが)で分析!
ここが感動したポイントです。

次回以降やること


以下のいずれかを進めていきます。
1.ニュースサイトのRSSを収集

CDATAにはRSSドライバもあるようなので、その評価版も使ってみます。
PythonでRSS取得してDBへ書き込むプログラムは既に作っていますが、せっかくドライバがあるので試してみます。
2.RSS収集データを形態素解析して株価の値動きと紐付け

そのままですね。
2000年初頭、学生時代の研究テーマが「強化学習により株式売買で儲ける」だったので、自然と発想が株にいってしまいます。
ただし、強化学習は使いません。
3.ArduinoでMIDI連携し、ホコリをかぶった電子楽器を操作

ArduinoとMidiパーツは購入済み。
LED点滅まで試したので、やりたいことをやります。
4.Arduinoと赤外線センサーを連携し、MIDIドラムの音を鳴らす

打ち込みだとテンポを変えられないため、足でMIDIを操作して一人でグルーヴをいかに出すか。
MIDI信号実行の遅延により、リズムがヨレヨレになることが考えられます。
2020年から始まるプログラミング教育を念頭にしたチャレンジです。
プログラミング授業×音楽の授業×ダンスの授業×図画工作の授業 的な。
5.エンジニアとしてSDGsを考える

プログラミングではないですが、『エネルギー、水、温暖化』関連の書籍を読んでいるので、そのまとめです。
女川町で釣りをしながら考える。