提交 c4812f91 编写于 作者: P Ping Xiao

[TD-632]: keep inserting data into database

上级 be9c504e
...@@ -11,9 +11,12 @@ ...@@ -11,9 +11,12 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import sys
import taos import taos
import time import time
from datetime import datetime from datetime import datetime
import csv
class DBWriteNonStop: class DBWriteNonStop:
def __init__(self): def __init__(self):
...@@ -21,36 +24,57 @@ class DBWriteNonStop: ...@@ -21,36 +24,57 @@ class DBWriteNonStop:
self.user = "root" self.user = "root"
self.password = "taosdata" self.password = "taosdata"
self.config = "/etc/taos" self.config = "/etc/taos"
def connectDB(self): def connectDB(self):
self.conn = taos.connect(self.host, self.user, self.password, self.config) self.conn = taos.connect(
self.cursor = self.conn.cursor() self.host,
self.user,
self.password,
self.config)
self.cursor = self.conn.cursor()
def createTable(self): def createTable(self):
self.cursor.execute("drop database if exists dbwrite") self.cursor.execute("drop database if exists dbwrite")
self.cursor.execute("create database dbwrite") self.cursor.execute("create database dbwrite")
self.cursor.execute("use dbwrite") self.cursor.execute("use dbwrite")
self.cursor.execute("create table if not exists st (ts timestamp, value nchar(50), speed int) tags(dev nchar(50))") self.cursor.execute(
"create table if not exists st (ts timestamp, value nchar(50), speed int) tags(dev nchar(50))")
def insertData(self): def writeDataToCSVFile(self, data, duration):
csvFile = open('csvFile.csv', 'a', newline='')
writer = csv.writer(csvFile)
writer.writerow([data[0][0], data[0][1], data[0][2],
data[0][3], data[0][4], data[0][5], duration])
csvFile.close()
def insertData(self):
i = 1 i = 1
startTime = datetime.now() startTime = datetime.now()
while True: while True:
self.cursor.execute("insert into st1 using st tags('dev_001') values(now, 'taosdata%d', %d)" % (i % 10000, i % 100000)) self.cursor.execute(
"insert into st1 using st tags('dev_001') values(now, 'taosdata%d', %d)" %
(i %
10000,
i %
100000))
i += 1 i += 1
i = i % 32000000 i = i % 32000000
endTime = datetime.now() endTime = datetime.now()
if (endTime - startTime).seconds >= 5 * 2: if (endTime - startTime).seconds >= 10 * 2:
startTime = endTime startTime = endTime
self.cursor.execute("select last(ts) from st >> output.txt") start = datetime.now()
self.cursor.execute("select count(*) from st >> output.txt") self.cursor.execute(
"select first(ts), last(ts), min(speed), max(speed), avg(speed), count(*) from st")
data = self.cursor.fetchall()
end = datetime.now()
self.writeDataToCSVFile(data, (end - start).seconds)
time.sleep(.001) time.sleep(.001)
def closeConn(self): def closeConn(self):
self.cursor.close() self.cursor.close()
self.conn.close() self.conn.close()
test = DBWriteNonStop() test = DBWriteNonStop()
test.connectDB() test.connectDB()
test.createTable() test.createTable()
test.insertData() test.insertData()
......
#!/bin/bash
ulimit -c unlimited
function buildTDengine {
cd /root/TDengine
git remote update
REMOTE_COMMIT=`git rev-parse --short remotes/origin/develop`
LOCAL_COMMIT=`git rev-parse --short @`
echo " LOCAL: $LOCAL_COMMIT"
echo "REMOTE: $REMOTE_COMMIT"
if [ "$LOCAL_COMMIT" == "$REMOTE_COMMIT" ]; then
echo "repo up-to-date"
else
echo "repo need to pull"
git pull
LOCAL_COMMIT=`git rev-parse --short @`
cd debug
rm -rf *
cmake ..
make > /dev/null
make install
fi
}
function restartTaosd {
systemctl stop taosd
pkill -KILL -x taosd
sleep 10
rm -rf /var/lib/taos/data/*
rm -rf /var/lib/taos/log/*
taosd 2>&1 > /dev/null &
sleep 10
}
buildTDengine
restartTaosd
python3 insert/writeDBNonStop.py
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册