2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Posted at

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 スクリーンショット 2019-11-17 17.53.47.png KNIME→Databases→ここでダウンロードしたCSVドライバを指定します。 スクリーンショット 2019-12-04 10.00.37.png

KNIMEで株価データCSV参照

ワークフローへDatabase Reader を追加→右クリック→Configure スクリーンショット 2019-12-04 10.15.13.png ・Database Driver→追加したCSVドライバを指定 ・Database URL→jdbc:csv:DataSource=CSVファイルのフォルダパス; スクリーンショット 2019-11-26 18.35.44.png 右下のDatabase Browser→Fetch Metadataクリック→読み込みたいCSVファイルをダブルクリック スクリーンショット 2019-11-26 18.32.14.png SQL Statementへ反映されます。 スクリーンショット 2019-12-04 10.23.19.png ここでの注意点として、テーブル名から「.csv」を削除します。
FROM bb.csv
↓正しくは
FROM bb

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

「.csv」に注意しながらSQL文を作成します。 今回は単純にすでにある項目を選んでいます。 スクリーンショット 2019-12-04 10.32.24.png ここで条件指定やGROUP BYして必要な前処理ができてしまいます。 これがCSVファイルにできるのは、かなり便利です。

SELECT結果をグラフ化

Line Chartを追加し、折れ線グラフで表示します。 スクリーンショット 2019-11-26 18.37.08.png スクリーンショット 2019-11-26 18.36.40.png

さいごに

・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を考える
プログラミングではないですが、『エネルギー、水、温暖化』関連の書籍を読んでいるので、そのまとめです。 女川町で釣りをしながら考える。
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?