小编sur*_*nto的帖子

RootProject和ProjectRef

我一直试图找到有关RootProject和ProjectRef的更多信息,但看起来在sbt文档中根本没有提到它.

据我所知,如果您正在引用根项目,则在引用子项目时应使用RootProject和ProjectRef.然而,目前尚不清楚它们之间的行为将如何不同.有人可以帮忙解释一下吗?

此外,它没有记录,这是否意味着RootProject和ProjectRef不是推荐的引用其他sbt项目的方式?

谢谢.

sbt

22
推荐指数
1
解决办法
3883
查看次数

从 Spark 写入时避免丢失分区数据的数据类型

我有一个如下所示的数据框。

itemName, itemCategory
Name1, C0
Name2, C1
Name3, C0
Run Code Online (Sandbox Code Playgroud)

我想将此数据框保存为分区镶木地板文件:

df.write.mode("overwrite").partitionBy("itemCategory").parquet(path)
Run Code Online (Sandbox Code Playgroud)

对于这个数据帧,当我读回数据时,它将具有 String 的数据类型itemCategory

然而有时,我有来自其他租户的数据框,如下所示。

itemName, itemCategory
Name1, 0
Name2, 1
Name3, 0
Run Code Online (Sandbox Code Playgroud)

在这种情况下,在写入分区后,读回时,生成的数据帧将具有 Int 的数据类型itemCategory

Parquet 文件具有描述数据类型的元数据。如何指定分区的数据类型,以便将其读回为 String 而不是 Int?

apache-spark parquet apache-spark-sql

8
推荐指数
2
解决办法
6556
查看次数

用于HTTP 302的AngularJS拦截器不适用于IE

我正在调用身份验证服务,返回HTTP 302信号重定向.为了解决这个问题,我使用了Angular http拦截器来检查状态代码并采取相应的措施.

'responseError': function(rejection) {
  if (rejection.status === 302) {
    $rootScope.$broadcast('event:moved-http', rejection);
  } else if (rejection.status === 404) {
    $rootScope.$broadcast('event:notfound-http', rejection);
  }

  return $q.reject(rejection);
}
Run Code Online (Sandbox Code Playgroud)

这在Chrome中完美运行.但是,当使用IE11时,状态302永远不会传递给此拦截器.在IE中,拒绝对​​象中的状态始终为0,数据为空("").

这是另一个Angular IE问题吗?有没有办法在IE中获得302状态?

internet-explorer angularjs

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

对Scala案例类执行不区分大小写的比较的最佳方法

我有一个代表一个人的案例类.

case class Person(firstName: String, lastName: String)
Run Code Online (Sandbox Code Playgroud)

我需要以不区分大小写的方式根据名字和姓氏进行人物比较,例如:

Person("John", "Doe") == Person("john", "Doe") // should return true
Run Code Online (Sandbox Code Playgroud)

或者在Seq

Seq(Person("John", "Doe")).contains(Person("john", "Doe")
Run Code Online (Sandbox Code Playgroud)

最简单的方法是覆盖Person case类中的equals和hashCode方法,但是如果在类的情况下不能覆盖equals和hashCode,那么以干净的方式执行此操作的最佳方法是什么.

有人可以推荐一种解决这种区分大小写问题的惯用方法吗?

谢谢,Suriyanto

scala

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