看起来广播方法在我的集群中生成RDD的分布式副本.另一方面,cache()方法的执行只是将数据加载到内存中.
但我不明白缓存的RDD是如何在集群中分布的.
你能告诉我在哪些情况下我应该使用rdd.cache()和rdd.broadcast()方法吗?
public class A{
private int getC(){
return 0;
}
}
public class B extends A{
public static void main(String args[]){
B = new B();
//here I need to invoke getC()
}
}
Run Code Online (Sandbox Code Playgroud)
你能否告诉我是否有可能通过java中的反射做一些事情?
我有一个cassandra table1:
CREATE TABLE Policy.table1 (
name VARCHAR ,
date TIMESTAMP ,
version_num INT,
PRIMARY KEY (
name
)) WITH caching = 'all'
-- and memtable_flush_period_in_ms = 7200 ;
;
Run Code Online (Sandbox Code Playgroud)
我需要在tis表上实现乐观锁定.当我们从table1读取一行时,我们记得它的version_num.当我们想要更新这一行时,我们比较当前的version_num值和我们记住的值.我们还需要在每次更新时增加version_num.
问题:
我们不能把version_num放到where子句中,这会产生错误:错误的请求:在where子句中找到的非PRIMARY KEY version_num:
update table where name = 'abc' and version = 3
Run Code Online (Sandbox Code Playgroud)我们不能将version_num设置为主键的一部分,因为我们需要更新其值
你看到这个问题的解决方案吗?
我想创建日分区数据并从Cloude Storage加载数据.我已经完成了
bq mk --time_partitioning_type = DAY myDataSet.dailytable
bq load --source_format = AVRO myProjectId:myDataSet.dailytable $ 20150510 gs:// myBucket/path/2016-05-10/*
实际结果:
我有2个表:dailyTable和dailyTable $ 0150510
预期结果:
我每天有2张桌子和每日桌子2美元0150510
这是预期的行为吗?