update_stats.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. Before you execute the program, Launch `cqlsh` and execute:
  3. create keyspace example with replication = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
  4. create table example.tweet(timeline text, id UUID, text text, PRIMARY KEY(id));
  5. create index on example.tweet(timeline);
  6. */
  7. package main
  8. import (
  9. // "time"
  10. //"fmt"
  11. "flag"
  12. // "strconv"
  13. // "strings"
  14. "git.wecise.com/wecise/odbserver/odb/test"
  15. "gitee.com/wecisecode/util/logger"
  16. )
  17. func main() {
  18. // connect to the cluster
  19. //cluster := gocql.NewCluster("192.168.40.14")
  20. keyspace := flag.String("keyspace", "matrix", "keyspace")
  21. flag.Parse()
  22. option := &Option{Cache: CacheAll, Keyspace: *keyspace, DisableInitialHostLookup: true}
  23. g, err := test.NewG(option)
  24. if err != nil {
  25. logger.Error(err.Error())
  26. } else {
  27. defer g.Close()
  28. }
  29. //logger.SetRollingDaily("C:/test/zkcron/src/test", "test.log")
  30. logger.SetConsole(true)
  31. if rows, err := g.RawQuery(` SELECT * FROM relation_stats`); err == nil {
  32. if _, err := g.RawQuery("truncate relation_stats"); err != nil {
  33. logger.Warnf("Update RelationsStats Error [%s]", err)
  34. logger.Info(rows)
  35. } else if _, err := g.RawQuery("drop table relation_stats"); err != nil {
  36. logger.Warnf("Update RelationsStats Error [%s]", err)
  37. logger.Info(rows)
  38. } else if _, err := g.RawQuery(`CREATE TABLE IF NOT EXISTS relation_stats (
  39. inclass varchar,
  40. relation varchar,
  41. outclass varchar,
  42. constrain list<int>,
  43. morph_info set<varchar>,
  44. PRIMARY KEY(inclass, relation, outclass)
  45. )`); err != nil {
  46. logger.Warnf("Update RelationsStats Error [%s]", err)
  47. logger.Info(rows)
  48. } else {
  49. logger.Info("total =>", len(rows))
  50. g.RawQuery("CREATE INDEX IF NOT EXISTS relation_stats_outclass ON relation_stats( outclass )")
  51. g.RawQuery("CREATE INDEX IF NOT EXISTS relation_stats_relation ON relation_stats( relation )")
  52. for _, row := range rows {
  53. g.RawQuery(`insert into relation_stats(inclass, relation, outclass, constrain) values (?,?,?,?)`, row["inclass"], row["relation"], row["outclass"], row["constrain"])
  54. }
  55. //g.RawQuery("INSERT INTO rels (name, colname, remedy, mtime) VALUES ('_morph', '_morph', '多态', 1458113899033)")
  56. }
  57. }
  58. }