今天有個任務,將伺服器上mysql中的100張表一億條資料資料遷移到es中,
因為mysql和es都是在生產環境中的,不敢亂動啊,萬一搞錯了就完蛋了,
我只能在本地測試,第乙個要解決的問題就是,模擬出mysql的具有相同表結構的100張表
好在表的名字是有規律的***xx_1、***xx_2、***xx_3、......***xx_100、
剛開始我用手動的方式寫了2個,太慢了,於是結合python搞一搞
這裡需要準備兩個檔案
1、用於儲存建立表語句的sql檔案(比如create_table.sql)
在sql檔案中稍作修改,將建立語句
create table`***xx_1` (後面省略,根據自己需求建立表名中的遞增的序號改為乙個字串(在sql檔案中需要具有唯一性),比如lihaizhen(這是我的名字,肯定唯一),然後儲存。
2、py檔案(比如create_table.py)
import pymysql
import time
with open("creat_tables.sql", "r", encoding='utf8')as f:
content = f.read()
sql_str = content
def write_into_mysql():
try:
conn = pymysql.connect(
host,
user,
password,
database,
port,
charset='utf8',
)cur = conn.cursor()
for i in range(1, 101):
sql = sql_str.replace('lihaizhen', str(i), 1)
cur.execute(sql)
conn.commit()
print('建立第{}張表'.format(i))
except exception as e:
print(e)
if __name__ == '__main__':
s_t = time.time()
write_into_mysql()
e_t = time.time()
print(e_t - s_t)
ok,大功告成
只需等待一分鐘收穫100張表
如何用Python指令碼從檔案讀取資料?
最近自學python的進度比較慢,工作之餘斷斷續續的看著效率比較低,看來還是要狠下心來每天進步一點點。import os 從標準庫匯入os模組 os.chdir f headfirstpython chapter3 切換到包含資料檔案的資料夾 data open sketch.txt 開啟乙個命名檔...
如何用公式在RTF域中自動建立附件
如何用公式在rtf域中自動建立附件?環境產品 lotus notes 平台 pc windows 軟體版本 6.x 問題如何在lotus notes客戶端中通過公式將特定的檔案作為附件放入rtf域中?解答通過以下公式可以將特定的檔案作為附件加入rtf域中 command editgotofield ...
如何用 Python 做自動化測試
python 3 環境的部署搭建 selenium 的定位元素操作 對頁面元素的 8 中定位操作 自動化測試框架的設計架構 對框架的構建有屬於自己的思路 docker for jenkins 整合自動化測試 讓測試用例自己執行 本場 chat 可以讓喜歡自動化測試的讀者從入門到掌握企業自動化測試框架...