main.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package main
  2. import (
  3. "database/sql"
  4. "fmt"
  5. _ "github.com/taosdata/driver-go/v3/taosSql"
  6. "log"
  7. "math/rand"
  8. "time"
  9. )
  10. var DateFmtYYYYMMDDHHmmss = "2006-01-02 15:04:05"
  11. func main() {
  12. var taosDSN = "root:taosdata@tcp(127.0.0.1:6030)/test1"
  13. taos, err := sql.Open("taosSql", taosDSN)
  14. if err != nil {
  15. log.Fatalln("failed to connect TDengine, err:", err)
  16. return
  17. }
  18. defer taos.Close()
  19. // 测试插入数据
  20. now := time.Now().Add(-11 * time.Hour)
  21. type CUP struct {
  22. c string
  23. u int
  24. p int
  25. }
  26. cupList := []CUP{
  27. {c: "wenchangchain-native", u: 1, p: 11},
  28. //{c: "wenchangchain-irita-opb", u: 1, p: 21},
  29. //{c: "wenchangchain-ddc", u: 1, p: 31},
  30. //
  31. //{c: "wenchangchain-native", u: 2, p: 12},
  32. //{c: "wenchangchain-irita-opb", u: 2, p: 22},
  33. //{c: "wenchangchain-ddc", u: 2, p: 32},
  34. //
  35. //{c: "wenchangchain-native", u: 3, p: 13},
  36. //{c: "wenchangchain-irita-opb", u: 3, p: 23},
  37. //
  38. //{c: "wenchangchain-irita-opb", u: 4, p: 24},
  39. //{c: "wenchangchain-ddc", u: 4, p: 34},
  40. //
  41. //{c: "wenchangchain-native", u: 5, p: 15},
  42. //{c: "wenchangchain-ddc", u: 5, p: 35},
  43. }
  44. fmt.Println("开始 ", time.Now().Format(DateFmtYYYYMMDDHHmmss))
  45. for p := 0; p < len(cupList); p++ {
  46. d := ""
  47. for i := 3; i > 1; i-- {
  48. num := rand.Intn(24)
  49. day := now.AddDate(0, 0, -i).Add(time.Duration(num) * time.Hour)
  50. for j := 0; j < 5; j++ {
  51. //a := rand.Intn(9) + 1
  52. //fmt.Println(day.Add(time.Duration(j*22)*time.Minute).Format(DateFmtYYYYMMDDHHmmss), a)
  53. d = fmt.Sprintf("%s (%d,%d)", d, day.Add(time.Duration(j*4)*time.Hour).UnixMilli(), 1)
  54. }
  55. }
  56. d = fmt.Sprintf("insert into p%d USING account_meters TAGS (\"%s\", %d, %d) values%s", cupList[p].p, cupList[p].c, cupList[p].u, cupList[p].p, d)
  57. fmt.Println(d)
  58. _, err = taos.Exec(d)
  59. if err != nil {
  60. fmt.Println("failed to insert, err:", err)
  61. fmt.Println("failed to insert, cup:", cupList[p])
  62. return
  63. }
  64. fmt.Println("完成 ", time.Now().Format(DateFmtYYYYMMDDHHmmss))
  65. }
  66. }