休日ですが、せこせこと検証作業をしておりました。
最近、中の人としての担当は外れたのですがOracle Autonomous Data Warehouse(以下Autonomous DW)を引き続きいじってます。
↓の動画、おすすめです。
Oracle Autonomous Datawarehouse Cloud - Machine Learning with Oracle - Forecasting example
This video is also a good way to learn how to work with machine learning in Autonomous Datawarehouse Cloud in general. The principles you learn here can be applied to many more machine learning use cases. We'll also cover any required ML theory, so you don't require any previous knowledge on this.
After watching this video you will have the basic ingredients to apply ML to your own business cases with Autonomous Datawarehouse Cloud.
さすがにOracleの主力製品の中でも一押しのものなので、どんどん改善が進んでいてスバラシイと思います。これ使っときゃ間違いありません。
Data Sync インスコしたのに動かない!
そんななかで、定期実行できるデータ投入部分で簡単な方法が無いかなと悩んでいたのですが、Autonomous DWのMachine Learningのデモ動画で使ってる、Oracle Analytics Data Syncというのが結構いけてるETLのような気がしたので、これを動かそうとしていました。
WindowsとLinuxで動くと書いてあったので、普段使ってるMacは出番なしです。
そしてインストール自体はインストーラーで簡単だったのですが、、、、エラーを吐いて起動してくれません。
org/apache/derby/drda/NetworkServerControl にあるべきJava DB Serverの起動に失敗したと書いてあります。周りの強そうな人たちにSlackで聞いたのですが、あいにく日曜でした。。。
JAVA_HOMEを設定するのも、Windows 10だとなれてないので非常に面倒です。そんなこんなで数時間。どうやら、JDKはちゃんと設定されてるけれど、Java DBが含まれていないようです。
ADWにデータ投入するのにOAC DataSyncを試しているのですが、起動時にjava DBの起動でコケます。
最近のJDKにはJava DBが含まれてないんでしょうか?
jdk8_191,192にはJAVA_HOME/db/のディレクトリがそもそもありません。
Java DBって何?
https://www.oracle.com/technetwork/jp/java/javadb/overview/index.html
によれば
Java DBは、オープンソースのApache Derbyデータベースをオラクルがサポートしたディストリビューションです。
JDBC APIおよびJava EE APIにより標準のANSI/ISO SQLをサポートします。Java DBは、JDKに含まれています。
JDKに含まれてるらしいのですが、実際にはどう見てもなさげです。仕方ないからapache derbyの配布元に行って インストールを試みます。
斜め上の結論にびっくり
ネットを探してたら、サポートページの奥深くでようやく見つけました。
要約すると、Apache Derbyのオリジナルサイトから db-derby-<release>-bin.zip を落としてきて、JAVA_HOMEの設定をしたJDKのフォルダ内にdbという名のフォルダ名に展開しろということでした。
SOLUTION
Download and install the latest Apache Derby:
Go to Apache Derby: Downloads
Download the latest available release for Java 8. At the time of writing of this document it is 10.14.2.0 (db-derby-10.14.2.0-bin.zip).
Unzip the file to db-derby-<release>-bin and rename the directory to 'db'
Move the 'db' directory to JAVA_HOME (you will need Administrator access)
Start Data Sync
つまり、最近のJDKからは、Apache Derbyが取り除かれたようです。
この設定を入れたら、何事もないようにData Syncが起動しました。
つづく