使用以下说明:
http://www.pgrs.net/2011/10/30/using-local-jars-with-leiningen/
我在本地存储库中安装了一些本地jar.
当我想更新项目中的jar时,我将jar重新安装到存储库中,然后运行lein deps.我发现不知何故,jar在我的项目中没有更新.即使我rm -rf libs文件夹中的所有内容,也不会拾取新的jar.我能够让它工作的唯一方法是更改jar的名称.
它有点奇怪,因为即使我删除了旧jar的所有痕迹(据我所知),这也会发生 - lein是否隐藏了libs的快照/缓存?
我正在研究一个代表事件流的数据集(比如从网站上发布的跟踪事件).所有活动都有时间戳.我们经常遇到的一个用例是尝试找到给定字段的第一个非空值.因此,举例来说,最让我们感受到的是:
val eventsDf = spark.read.json(jsonEventsPath)
case class ProjectedFields(visitId: String, userId: Int, timestamp: Long ... )
val projectedEventsDs = eventsDf.select(
eventsDf("message.visit.id").alias("visitId"),
eventsDf("message.property.user_id").alias("userId"),
eventsDf("message.property.timestamp"),
...
).as[ProjectedFields]
projectedEventsDs.groupBy($"visitId").agg(first($"userId", true))
Run Code Online (Sandbox Code Playgroud)
上述代码的问题first在于无法保证馈送到该聚合函数的数据的顺序.我希望它被排序timestamp以确保它是时间戳的第一个非null userId而不是任何随机的非null userId.
有没有办法在分组中定义排序?
使用Spark 2.10
BTW,在SPARK DataFrame中为Spark 2.10建议的方式:选择每个组的第一行是在分组之前进行排序 - 这不起作用.例如,以下代码:
case class OrderedKeyValue(key: String, value: String, ordering: Int)
val ds = Seq(
OrderedKeyValue("a", null, 1),
OrderedKeyValue("a", null, 2),
OrderedKeyValue("a", "x", 3),
OrderedKeyValue("a", "y", 4),
OrderedKeyValue("a", null, 5)
).toDS()
ds.orderBy("ordering").groupBy("key").agg(first("value", true)).collect()
Run Code Online (Sandbox Code Playgroud)
有时会返回Array([a,y]),有时Array([a,x])
我希望我的RoR / puma日志仅转到stdout而不是日志文件。就像stdout_redirect从我的puma配置(又名puma.rb)中删除该行一样简单吗?
好的——所以你可能会想为什么你想要这个,但我正在尝试使用 ng-html-bind 渲染一些 HTML,如下所示(在 HAML 中):
#my-visualization-panel{'ng-bind-html' => 'htmlSource'}
Run Code Online (Sandbox Code Playgroud)
htmlSource 有一些 html,它使用 c3.js 可视化库呈现可视化。看起来htmlSource像这样
<script>
var MY_DATA = localStorage.getItem('MY_DATA');
c3.generate({
data: {
columns: MY_DATA
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
所以问题是我通过重新设置来更新可视化localStorage['MY_DATA']。但是,虽然引用的数据MY_DATA可能会更改,但实际数据htmlSource不会更改,因此视图无法更新。
有没有办法强制视图更新,即使模型表面上没有更新?
嗨,我正在使用FactoryGirl 4.9.0 w / Rails 4.2.11。我在模型中添加了一个布尔列,Query如下所示:
class AddSetLatestResultToQueries < ActiveRecord::Migration
def change
add_column :queries, :latest_result_s3_url_flag, :boolean, null: false, default: false
end
end
Run Code Online (Sandbox Code Playgroud)
这个标志可以正常工作,应用程序本身也可以正常工作,但是当涉及到rspec时,FactoryGirl似乎在承认这一新列方面遇到了麻烦。
我试图将其添加到工厂模型中,如下所示:
FactoryGirl.define do
factory :query do
latest_result_s3_url_flag false
title 'some title'
latest_body 'SELECT TIMEOFDAY();'
... etc ...
end
Run Code Online (Sandbox Code Playgroud)
但是当我运行时rpsec spec,我看到此错误:
NoMethodError:
undefined method `latest_result_s3_url_flag=' for #<Query:0x00007ff6f9108428>
Run Code Online (Sandbox Code Playgroud) 我有一段这样的代码:
override def getOption[T: TypeTag: ClassTag](path: String): Option[T] = {
implicitly[scala.reflect.ClassTag[T]].toString() match {
case "java.lang.String" => HandleBlank(super.getOption[String](path)).asInstanceOf[Option[T]]
case _ => super.getOption[T](path)
}
}
Run Code Online (Sandbox Code Playgroud)
我认为必须有一个更好的方法来做到这一点,而不是匹配字符串,但尝试了一些事情(如classOf[String]),似乎找不到有用的东西.
对于上下文,getOption(在我们试图覆盖的超类中)从json4s AST JValue对象获取Option值
def getOption[T: TypeTag: ClassTag](path: String): Option[T] = Try(getJValue(path).extract[T]).toOption
def getJValue(path: String): JValue = {
path.split('.').foldLeft(value)((a, b) => a \ b) match {
case JNull => JNothing
case j => j
}
}
Run Code Online (Sandbox Code Playgroud)
我的想法是,我想要对其进行填充,以便仅对于该方法的String类型,我们希望以特殊方式处理空字符串.
angularjs ×1
apache-spark ×1
clojure ×1
factory-bot ×1
jar ×1
json4s ×1
leiningen ×1
maven ×1
ng-bind-html ×1
puma ×1
scala ×1