insertFromCSV.py 2.5 KB
Newer Older
P
Ping Xiao 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
###################################################################
#           Copyright (c) 2016 by TAOS Technologies, Inc.
#                     All rights reserved.
#
#  This file is proprietary and confidential to TAOS Technologies.
#  No part of this file may be reproduced, stored, transmitted,
#  disclosed or used in any form or by any means other than as
#  expressly provided by the written permission from Jianhui Tao
#
###################################################################

# -*- coding: utf-8 -*-

import sys
import taos
from util.log import tdLog
from util.cases import tdCases
from util.sql import tdSql
import time
import datetime
import csv
import random
import pandas as pd


class TDTestCase:
    def init(self, conn, logSql):
        tdLog.debug("start to execute %s" % __file__)
        tdSql.init(conn.cursor(), logSql)

P
Ping Xiao 已提交
31 32 33
        self.ts = 1500074556514
        self.csvfile = "/tmp/csvfile.csv"
        self.rows = 100000
P
Ping Xiao 已提交
34 35
    
    def writeCSV(self):
P
Ping Xiao 已提交
36
        with open(self.csvfile, 'w', encoding='utf-8', newline='') as csvFile:
P
Ping Xiao 已提交
37
            writer = csv.writer(csvFile, dialect='excel')
P
Ping Xiao 已提交
38 39
            for i in range(self.rows):                
                writer.writerow([self.ts + i, random.randint(1, 100), random.uniform(1, 100), random.randint(1, 100), random.randint(1, 100)])
P
Ping Xiao 已提交
40 41 42 43 44 45 46
    
    def removCSVHeader(self):
        data = pd.read_csv("ordered.csv")
        data = data.drop([0])
        data.to_csv("ordered.csv", header = False, index = False)

    def run(self):
P
Ping Xiao 已提交
47 48
        self.writeCSV()

P
Ping Xiao 已提交
49 50 51
        tdSql.prepare()
        tdSql.execute("create table t1(ts timestamp, c1 int, c2 float, c3 int, c4 int)")
        startTime = time.time()
P
Ping Xiao 已提交
52
        tdSql.execute("insert into t1 file '%s'" % self.csvfile) 
P
Ping Xiao 已提交
53
        duration = time.time() - startTime
P
Ping Xiao 已提交
54 55 56
        print("Insert time: %d" % duration)
        tdSql.query("select * from t1")
        tdSql.checkRows(self.rows)
P
Ping Xiao 已提交
57
        
P
Ping Xiao 已提交
58 59 60 61 62 63 64 65
        tdSql.execute("create table stb(ts timestamp, c1 int, c2 float, c3 int, c4 int) tags(t1 int, t2 binary(20))")
        tdSql.execute("insert into t2 using stb(t1) tags(1) file '%s'" % self.csvfile)
        tdSql.query("select * from stb")
        tdSql.checkRows(self.rows)

        tdSql.execute("insert into t3 using stb tags(1, 'test') file '%s'" % self.csvfile)
        tdSql.query("select * from stb")
        tdSql.checkRows(self.rows * 2)
P
Ping Xiao 已提交
66 67 68 69 70 71 72

    def stop(self):
        tdSql.close()
        tdLog.success("%s successfully executed" % __file__)

tdCases.addWindows(__file__, TDTestCase())
tdCases.addLinux(__file__, TDTestCase())