select concat('ALTER TABLE ', TABLE_NAME, ' ENGINE=InnoDB;') as 'sql' from information_schema.tables where table_schema like '%cscart%' and engine = 'MyISAM';
FROM tensorflow/tensorflow:latest-py3
RUN apt-get update && apt-get -y upgrade
RUN pip install pandas --upgrade
RUN pip install matplotlib --upgrade
RUN pip install keras --upgrade
RUN pip install tensorflow --upgrade
RUN pip install sklearn --upgrade
RUN mkdir /temp
上記のDockderfileをbuildします
docker build -t tensor_flow_ubuntu .
予測するためのソースコードは下記です。使用できるモデルはいくつかあるのですが、今回はlong short time memory(lstm)というモデルで予測を行いました。lstmは、時系列データで学習できるようにするネットワークで、今回の予測に適しているので採用しました。
package jp.sbworks.standard.web.dao;
import java.io.IOException;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import org.sql2o.Connection;
import org.sql2o.Query;
import org.sql2o.Sql2o;
import jp.sbworks.standard.web.db.single.pojo.SSample;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class SampleDao {
@Autowired
// データベースアクセス用のライブラリ
private Sql2o sql2o;
// リスト情報を取得する
public List<SSample> getMemberList(HashMap<String, String> search) throws SQLException, IOException {
// Jdbcに接続する
Connection con = sql2o.open();
con.getJdbcConnection().setAutoCommit(false);
// クエリの作成
Query query = con.createQuery("select ID as id, NAME as name, DEPARTMENT as department, DAY_OF_JOINING as dayOfJoining from SAMPLE limit :limit offset :offset;");
int limit = Integer.valueOf(search.get("limit"));
int page = Integer.valueOf(search.get("page")) - 1;
// 何件情報を取得するかの指定。
query = query.addParameter("limit", limit);
// 何件目からの情報を取得するかの指定(※コントローラからパラメータを使って現在のページ数が分かる。それによって何件目からの情報を取得すればいいのかが分かる。)
query = query.addParameter("offset", limit * page);
return query.executeAndFetch(SSample.class);
}
// リスト情報件数を取得する
public int getMemberListCount() throws SQLException, IOException {
Connection con = sql2o.open();
con.getJdbcConnection().setAutoCommit(false);
Query query = con.createQuery("select count(1) from SAMPLE");
return query.executeAndFetchFirst(Integer.class);
}
}
1-3 DB
package jp.sbworks.standard.web.db.single.pojo;
import java.io.Serializable;
import java.time.LocalDate;
public class SSample implements Serializable {
// ID
public Integer id;
// 名前
public String name;
// 部署
public Integer department;
// 入社日
public LocalDate dayOfJoining;
// 登録者
public String regName;
}
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
Start interactive shell
Name Command State Ports
---------------------------------------------------------------------------------------------------
hogehoge_app_1 sh -c java -Dserver.port=8 ... Up 0.0.0.0:8090->8180/tcp
hogehoge_mysql_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3314->3306/tcp, 33060/tcp