python读取mysql数据写入ES总结

python读取mysql数据写入ES总结,第1张

准备工作: mysql库的安装。

python中mysql库用的是mysql-connector,安装执行如下命令:

第一步: 连接mysql,读取数据

通过执行sql语句,读取mysql数据。

至此,获得mysql的原始数据raw_data 。接下来对数据进行预处理,按日期进行分组聚合,然后重命名行和列名,得到dataFrame格式的数据。

第二步: 连接ES。

这步没有太多的可解释的地方,就是配置信息

第三步: ES主键加密。

这步的目的是为了保持主键唯一性,防止重复写入。用的方法是md5加密。

第四步: 写入ES

至此,一切的准备工作都做好了,数据也有了,主键加密也做了,就开始写入了。

用main方法执行以上方法:

最后查看一下ES写的是否成功,用查询方法

如果返回以下信息,说明ES里成功插入了数据。

另外,ES删除索引的 *** 作:

mysql里面提供了很多方法来获取表结构和表列:如下方法

获得某表所有列的信息:

String sql = select * from tname//tname为某一表名

Connection conn = ....

Statement st = conn.createStatement()

ResultSet rs = st.rs = st.executeQuery(sql)

ResultSetMetaData rsmd = rs.getMetaData()

int colcount = rsmd.getColumnCount()//取得全部列数

for(int i=0i<colcounti++){

String colname = rsmd.getColumnName(i)//取得全部列名

}

以上为某表字段具体查询,如果是查询表的信息,如在mysql服务器上那样的查询结果的话,可以用一下代码:

ResultSet.executeQuery("show tables")可以的到所有的表信息。

ResultSet.executeQuery("describe tname")可以得到表的字段信息。//tname为表名


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/8524428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存