小编And*_*son的帖子

如何在 Spark 2.0 中使用用户定义类型?

在 Spark 2.0 中,我发现的一个在 Scala 中创建 UDT 的示例似乎不再适用。该UserDefinedType类已经被设置为private,与评论:

注意:这以前是 Spark 1.x 中的开发人员 API。我们在 Spark 2.0 中将其设为私有,因为我们很可能会创建一个新版本,以更好地与数据集配合使用。

UDTRegistration的目的可能是成为声明 UDT 的新机制,但它也是private.

到目前为止,我的研究告诉我,没有办法在 Spark 2.0 中声明您自己的 UDT;这个结论正确吗?

scala user-defined-types apache-spark

6
推荐指数
1
解决办法
7984
查看次数

如果在Go中构造,则无法初始化结构

当我注意到以下代码片段未编译时,我感到非常惊讶:

aTime := time.Time{}
if defaultTime := time.Time{} ; aTime != defaultTime {}
Run Code Online (Sandbox Code Playgroud)

编译器返回:

输入time.Time不是表达式

defaultTime:= time.Time用作

value undefined:defaultTime

这里的目的是测试aTime变量是否设置为默认值.

如果我得到struct的指针(defaultTime:=&time.Time {}),它也不会编译.

但是,如果我在if构造之外初始化defaultTime,或者使用new()内置函数执行init,它会编译:

aTime := time.Time{}
if defaultTime := new(time.Time) ; aTime != *defaultTime {}
Run Code Online (Sandbox Code Playgroud)

从我到处读到的,新的(myStruct)它应该完全等同于&myStruct {}.

当我插入它时,defaultValue:= time.Time {}有资格作为SimpleStmt(特别是一个赋值),详见If语句规范.

尽管谷歌最好的谷歌搜索努力,我还没有对这种行为做出任何解释.如果有人能让我的头停止旋转,将不胜感激.

struct initialization go

0
推荐指数
1
解决办法
626
查看次数