public void Exec() { Stopwatch stopwatch = Stopwatch.StartNew(); //creates and start the instance of Stopwatch WaitScreen.Splash(); string command = CHBox.Text; using (ClickHouseCommand comm = con.CreateCommand(command)) { try { comm.ExecuteNonQuery(); } catch (Exception e) { Console.WriteLine(e.Message); Response.Content = "Wrong command."; return; } stopwatch.Stop(); var elapsedBulkMs = stopwatch.ElapsedMilliseconds; Logs xd = new DBUplader.Logs(); xd.AddLog("--------------------------------------------"); xd.AddLog("Execute ClickHouse Command"); xd.AddLog(command); xd.AddLog("Execute time : " + elapsedBulkMs + "ms"); Response.Content = "OK. " + elapsedBulkMs + "ms"; } }
public static void CHConnection(Action myMethodName) { WaitScreen.Splash(); try { con = new ClickHouseConnection(str); con.Open(); Console.WriteLine("DBConnected"); myMethodName(); } catch (ClickHouseException err) { Console.WriteLine(err); } finally { if (con != null) { con.Close(); } } }
public void Preview(string table) { WaitScreen.Splash(); using (ClickHouseCommand comm = con.CreateCommand($"SELECT * FROM {table} LIMIT 5")) { using (var reader = comm.ExecuteReader()) { List <object> result = new List <object>(); do { while (reader.Read()) { for (var i = 0; i < reader.FieldCount; i++) { var val = reader.GetValue(i); result.Add(val); CHBox.AppendText(result[i].ToString() + ", "); } CHBox.AppendText(Environment.NewLine); result.Clear(); } } while (reader.NextResult()); } } }
private void MigrateCHToMDB_Click(object sender, RoutedEventArgs e) { WaitScreen.Splash(); string tableName = CHTablesComboBox.SelectedItem.ToString(); Stopwatch stopwatch = Stopwatch.StartNew(); //creates and start the instance of Stopwatch CHConnection(() => InsertToMDB(GetTableColumns(tableName), tableName)); stopwatch.Stop(); var elapsedBulkMs = stopwatch.ElapsedMilliseconds; int records = CountMDB(tableName); Console.WriteLine("time : " + stopwatch.ElapsedMilliseconds); Timer.Content = "Migration time : " + elapsedBulkMs + "ms"; NumberOfRecordsCH.Content = "Records inserted : " + records; Logs xd = new DBUplader.Logs(); xd.AddLog("--------------------------------------------"); xd.AddLog("Migrate ClickHouse to MongoDB"); xd.AddLog(" Data name : " + tableName); xd.AddLog(" Bulk time : " + elapsedBulkMs + "ms"); xd.AddLog("Records inserted : " + records); }
private void BulkToClickHouse_Click(object sender, RoutedEventArgs e) { WaitScreen.Splash(); string filePath = CSVPathTextBoxCH.Text; string tableName = TableNameTextBox.Text; CHConn(() => ReadCSV3(filePath, tableName)); }
public void Exec1() { Stopwatch stopwatch = Stopwatch.StartNew(); //creates and start the instance of Stopwatch WaitScreen.Splash(); string command = CHBox.Text; using (ClickHouseCommand comm = con.CreateCommand(command)) { try { using (var reader = comm.ExecuteReader()) { List <object> result = new List <object>(); do { while (reader.Read()) { for (var i = 0; i < reader.FieldCount; i++) { var val = reader.GetValue(i); result.Add(val); Resp.AppendText(result[i].ToString() + ", "); } Resp.AppendText(Environment.NewLine); result.Clear(); } } while (reader.NextResult()); } } catch (Exception e) { Console.WriteLine(e.Message); Response.Content = "Wrong command."; return; } stopwatch.Stop(); var elapsedBulkMs = stopwatch.ElapsedMilliseconds; Logs xd = new DBUplader.Logs(); xd.AddLog("--------------------------------------------"); xd.AddLog("Execute ClickHouse Command"); xd.AddLog(command); xd.AddLog("Execute time : " + elapsedBulkMs + "ms"); Response.Content = "OK. " + elapsedBulkMs + "ms"; } using (ClickHouseCommand comm = con.CreateCommand(command)) { } }
private void Preview(string table) { WaitScreen.Splash(); int limit = int.Parse(Limit.Text); var server = new MongoClient("mongodb://localhost:27017"); var database = server.GetDatabase("test"); var coll = database.GetCollection <BsonDocument>(table); var list = coll.Find(new BsonDocument()).Limit(limit).ToList(); for (int i = 0; i < list.Count; i++) { MDBBox.AppendText(list[i].ToString() + (Environment.NewLine)); } }
public static List <string> GetCollections() { WaitScreen.Splash(); List <string> collections = new List <string>(); var db = new MongoClient("mongodb://localhost:27017").GetDatabase("test"); foreach (BsonDocument collection in db.ListCollectionsAsync().Result.ToListAsync <BsonDocument>().Result) { string name = collection["name"].AsString; collections.Add(name); } return(collections); }
private void MigrateMDBToCH_Click(object sender, RoutedEventArgs e) { WaitScreen.Splash(); string tableName = MDBTablesComboBox.SelectedItem.ToString(); Stopwatch stopwatch = Stopwatch.StartNew(); CSVToClickHouse.CHConn(() => GetData(tableName)); stopwatch.Stop(); var elapsedBulkMs = stopwatch.ElapsedMilliseconds; Timer.Content = "Migration time : " + elapsedBulkMs + "ms"; NumberOfRecords.Content = "Records : " + (lineCount); Logs xd = new DBUplader.Logs(); xd.AddLog("--------------------------------------------"); xd.AddLog("Migrate MongoDB to ClickHouse"); xd.AddLog(" Data name : " + tableName); xd.AddLog(" Bulk time : " + elapsedBulkMs + "ms"); xd.AddLog("Records inserted : " + lineCount); }
public void GetData(string tableName) { WaitScreen.Splash(); this._Types = null; this._Names = null; var db = new MongoClient("mongodb://localhost:27017").GetDatabase("test").GetCollection <BsonDocument>(tableName); var count = db.CountDocuments(FilterDefinition <BsonDocument> .Empty); var stepSize = 1000; for (int i = 0; i < Math.Ceiling((double)count / stepSize); i++) { var list = db.Find(new BsonDocument()).Skip(i * stepSize).Limit(stepSize).ToList(); var values = this.getValues(list); if (i == 0) { values = values.ToList(); CSVToClickHouse.CreateCHTable(this._Names, this._Types, tableName); } CSVToClickHouse.InsertValues(values, tableName, this._Names); } lineCount = (int)count; }
private void BulkToMongoDB_Click(object sender, RoutedEventArgs e) { WaitScreen.Splash(); UploadCSVToMongoDB(); }
private void Exec(string table, string filter) { Stopwatch stopwatch = Stopwatch.StartNew(); //creates and start the instance of Stopwatch WaitScreen.Splash(); string command = MDBBox.Text; var server = new MongoClient("mongodb://localhost:27017"); var database = server.GetDatabase("test"); var coll = database.GetCollection <BsonDocument>(table); //var list = coll.Find(command); //var list = coll.Find(new BsonDocument()).Limit(5).ToList(); //filter = "{ price: '480'}"; //var list = coll.Find("{},{\"name\":1}).limit(100)").ToList(); try { int lim = int.Parse(Limit.Text); string typ = Type.Text; List <BsonDocument> list = new List <BsonDocument>(); if (lim > 0 && typ == "Find") { list = coll.Find(filter).Limit(lim).ToList(); } else if (lim <= 0 && typ == "Find") { list = coll.Find(filter).ToList(); } else if (lim > 0 && typ == "Group") { list = coll.Aggregate().Group(filter).Limit(lim).ToList(); } else if (lim <= 0 && typ == "Group") { list = coll.Aggregate().Group(filter).ToList(); } for (int i = 0; i < list.Count; i++) { Resp.AppendText(list[i].ToString() + (Environment.NewLine)); } stopwatch.Stop(); var elapsedBulkMs = stopwatch.ElapsedMilliseconds; Logs xd = new DBUplader.Logs(); xd.AddLog("--------------------------------------------"); xd.AddLog("Execute MongoDB Command"); xd.AddLog(command); xd.AddLog($"On table { table }"); xd.AddLog($"Execute time : { elapsedBulkMs } ms"); Response.Content = $"OK. { elapsedBulkMs } ms"; } catch { Response.Content = "Wrong command."; } //var comm = new JsonCommand<BsonDocument>(command); //database.RunCommand(comm); //db.getCollection('asd').find({ }) }