我用pySpark写的
result = \
df.select('*', date_format('window_start', 'yyyy-MM-dd hh:mm').alias('time_window')) \
.groupby('time_window') \
.agg({'total_score': 'sum'})
result.show()
我想用spark让它在scala语言中工作,我做了这件事,我得到了我的错误,我没有发现错误,因为对scala来说是新的
val result=df.select('*', date_format(df("time_window"),"yyyy-MM-dd hh:mm").alias("time_window"))
.groupBy("time_window")
.agg(sum("total_score"))
这与您的pyspark代码的工作原理相似
val data = spark.sparkContext.parallelize(Seq(
("2017-05-21", 1),
("2017-05-21", 1),
("2017-05-22", 1),
("2017-05-22", 1),
("2017-05-23", 1),
("2017-05-23", 1),
("2017-05-23", 1),
("2017-05-23", 1))).toDF("time_window", "foo")
data.withColumn("$time_window", date_format(data("time_window"),"yyyy-MM-dd hh:mm"))
.groupBy("$time_window")
.agg(sum("foo")).show
最后,本文介绍了新的Java 8<code>Optional<code>,指出: Optional远不如Scala中的Option[T]强大(但至少它不允许包装null)。该API不像空处理那样简单,而且可能要慢得多。但是编译时检查的好处加上可读性和可选使用的文档价值大大超过了缺点 我对Scala有着非常基本的了解,而且我对Java 8<code>Optional<code>也越来越熟悉,所以乍一
Scala 集合 Scala Option(选项)类型用来表示一个值是可选的(有值或无值)。 Option[T] 是一个类型为 T 的可选值的容器: 如果值存在, Option[T] 就是一个 Some[T] ,如果不存在, Option[T] 就是对象 None 。 接下来我们来看一段代码: // 虽然 Scala 可以不定义变量的类型,不过为了清楚些,我还是 // 把他显示的定义上了 v
目前,我尝试用Apache Spark和scala实现LDA算法:
我一直在为Scala mongo驱动程序中的MongoDB的过滤器而苦苦挣扎。我正在尝试获取集合中的所有文档,其中文档中的特定字符串位于字符串列表中。我在Scala中创建一个字符串列表,然后使用in操作符构建查询: 它起作用了。这是我在打印in运算符筛选器时看到的结果 但是当我试图在第二个参数中传递一个列表来使用第二个重载的方法时,它就不起作用了。我试图用来过滤的列表是动态的。我尝试过scala列
我需要将Scala选项转换为Java可选。我写下了这样的话: 但是我不喜欢。 有没有简单的方法来做到这一点,或者内置的scala转换器?我正在寻找类似的东西: