小编QPe*_*ran的帖子

如何将增量表回滚到以前的版本

有没有一种简单的方法可以选择以前的增量表版本作为当前/工作版本?

我们可以不通过 创建另一个版本overwrite/truncate,而是将一个版本指定为“当前/最新”版本吗?

这个操作更像是undo,完全去掉一些步骤,让数据回到前一个阶段。然后在执行select * from MYTABLE此操作时MYTABLE可以指向恢复的版本。

SQL 或 PySpark 都会受到赞赏!

apache-spark databricks delta-lake

5
推荐指数
1
解决办法
3万
查看次数

使用 JDBCexecuteBatch() 通过 appscript 批量插入到 Cloud SQL 消耗太多时间

我收集了一些原始数据并将其存储在 Google 电子表格中,还有一个现有的 Google Cloud SQL 实例。我正在尝试使用 appscript 从 gsheet 中提取数据,然后推送到 gcloud SQL。

不幸的是,我发现完成“批量插入”花了太多时间。这是我的方法和结果(在这个例子中,我没有展示从 gsheet 中提取数据的方法,因为它很快而且无关紧要):

应用脚本:

   var connection = [My Connection];
   connection.setAutoCommit(false);
   var stmt = connection.prepareStatement('INSERT INTO [testTable]'
      + '(emp_no,title,from_date,to_date) values (?, ?, ?, ?)');
   for (var i = 1; i <= 50; i++) { //tuples counter i
    stmt.setString(1, 1);
    stmt.setString(2, "Worker" + i);
    stmt.setString(3, "2018-03-11");
    stmt.setString(4, "2019-05-04");
    stmt.addBatch();
  }
  stmt.executeBatch();
  connection.commit();
Run Code Online (Sandbox Code Playgroud)

简单的代码,这是我的结果(来自“执行记录”):

当元组计数器i小于 50 时:

[19-08-12 13:57:46:470 NZST] JdbcPreparedStatement.executeBatch() [9.978 秒]

当元组计数器i小于 500 时: …

mysql performance jdbc google-apps-script google-cloud-sql

3
推荐指数
1
解决办法
680
查看次数

为什么类默认情况下的python函数使用“ self”作为传入的第一个参数

我正在学习python类atm。在进行一些编码实验时,会出现一个问题:当我们使用在类中定义的函数时,第一个参数“默认”作为“自我”作为该对象传入。甚至我尝试重命名它或交换序列。第一个参数仍然执行为“自我”

这是python中的黄金法则吗?但为什么?

class people:
    def __init__(self,name):
        self.name=name

    def test1(k):
        return k.name

    def test2(o):
        print(o)

    def test3(i,j):
        print(i.name+j)

    def test4():
        print("test4")

    def test5(m,self):
        print(str(m)+self)

a=people('Dummy')
print(a.test1()) # "Dummy"
a.test2()        # "<__main__.people object at REFFERENCE>"
a.test2("test2") # error:test2() takes 1 positional argument but 2 were given
a.test3("test3") # "Dummytest3"
a.test4()        # error:test4() takes 0 positional arguments but 1 was given
a.test5("test5") # "<__main__.people object at REFFERENCE>test5"
Run Code Online (Sandbox Code Playgroud)

请参阅我的代码以供参考。我很好奇的是:

  1. a.test2(“ test2”)-从直觉上讲,我认为当我们使用一个函数(与C ++类,如下面的代码一样)时,它将输出“ test2”。但是已经输入默认的“ this”作为第一个参数。
class MyClass {         
  public:               
    void myMethod(string test) {   
      cout << …
Run Code Online (Sandbox Code Playgroud)

python oop python-3.x

-1
推荐指数
1
解决办法
76
查看次数