我想在CQL3中使用像这样的Cassandra计数器
create table count1(id int PRIMARY KEY,c1 counter);
我知道为了更新计数器,我需要做一些表格:
update count1 set c1 = c1 + 1 where ..
但在此之前,我需要在我的插入一个值,key (id);但我得到:
cqlsh:test2> insert into count1 (id) values (4);
Bad Request: INSERT statement are not allowed on counter tables, use UPDATE instead
Run Code Online (Sandbox Code Playgroud)
是什么赋予了 ?
我知道EC2更灵活,但更多的工作超过EMR.但是,就成本而言,如果使用EC2,则可能需要将EBS卷连接到EC2实例,而AWS只需从S3流入数据.所以在AWS计算器上处理这些数字,即使对于EMR也必须为EC2付费,EMR变得比EC2便宜?我错了吗?当然EC2与EBS可能更快,但它是否值得花费?
谢谢,马特
尝试在Spark 1.1.1中将数据写入Parquet。
我正在关注强大的大数据三重奏:Spark、Parquet 和 Avro作为模板。文章中的代码使用作业设置来调用 ParquetOutputFormat API 的方法。
scala> import org.apache.hadoop.mapreduce.Job
scala> val job = new Job()
java.lang.IllegalStateException: Job in state DEFINE instead of RUNNING
at org.apache.hadoop.mapreduce.Job.ensureState(Job.java:283)
at org.apache.hadoop.mapreduce.Job.toString(Job.java:452)
at scala.runtime.ScalaRunTime$.scala$runtime$ScalaRunTime$$inner$1(ScalaRunTime.scala:324)
at scala.runtime.ScalaRunTime$.stringOf(ScalaRunTime.scala:329)
at scala.runtime.ScalaRunTime$.replStringOf(ScalaRunTime.scala:337)
at .<init>(<console>:10)
at .<clinit>(<console>)
...
Run Code Online (Sandbox Code Playgroud) 想知道为什么StatefulNetworkWordCount.scala示例调用臭名昭着的updateStateByKey()函数,该函数应该仅将函数作为参数使用:
val stateDstream = wordDstream.updateStateByKey[Int](newUpdateFunc,
new HashPartitioner (ssc.sparkContext.defaultParallelism), true, initialRDD)
Run Code Online (Sandbox Code Playgroud)
为什么需要(以及如何处理 - 这不是在updateStateByKey()的签名中?)传递分区器,布尔值和RDD?
谢谢,马特
我的代码看起来像:
case class SRecord(trialId: String, private var _max:Int) {
def max=_max
def max_=(value:Int):Unit=_max=value
}
Run Code Online (Sandbox Code Playgroud)
然后我将一个函数应用到它上面:
def groupSummaryRecords(it:Iterator[Option[SRecord]], optionSummary:Option[SRecord]):Option[SRecord] = {
var max=0;
var sRecord1 : Option[SRecord] = None
var i=0
while(it.hasNext) {
var sRecord:Option[SRecord] = it.next();
if(i==0) {
sRecord1 = sRecord;
}
..
}
sRecord1.max=max; // getting 'reassignment to val' compilation error
..
}
Run Code Online (Sandbox Code Playgroud)
为什么我得到这个编译错误,以及如何解决它?
如果我改为将sRecord和sRecord1实例更改为类型SRecord而不是Option[SRecord]方法签名,那么一切正常.
但在某些情况下,我可能有一个空SRecord,因此使用None/Some.我是Scala的新手,Option/Some如果你问我,使用全部感觉真的很痛苦,我只是想删除所有这些Option废话,并在好的Java中测试'null',至少我的代码会工作??!
scala ×3
apache-spark ×2
amazon-ec2 ×1
cassandra ×1
counter ×1
emr ×1
hadoop ×1
nonetype ×1
optional ×1
streaming ×1