小编Roh*_*tty的帖子

将形式为"MM/dd/yyyy HH:mm"的字符串转换为Spark中数据框中的joda datetime

我在csv文件中读取一列中应该转换为日期时间的字符串.字符串在表单中MM/dd/yyyy HH:mm.但是当我尝试使用joda-time转换它时,我总是得到错误:

线程"main"中的异常java.lang.UnsupportedOperationException:不支持类型为org.joda.time.DateTime的模式

我不知道究竟是什么问题......

 val input = c.textFile("C:\\Users\\AAPL.csv").map(_.split(",")).map{p => 
      val formatter: DateTimeFormatter = DateTimeFormat.forPattern("MM/dd/yyyy HH:mm");
      val date: DateTime = formatter.parseDateTime(p(0));
      StockData(date, p(1).toDouble, p(2).toDouble, p(3).toDouble, p(4).toDouble, p(5).toInt, p(6).toInt)
}.toDF()
Run Code Online (Sandbox Code Playgroud)

谁能帮忙?

datetime scala jodatime apache-spark

3
推荐指数
1
解决办法
4059
查看次数

适用于Protobuf的Python中的原始包装器

我正在使用proto3,并且在某些.proto文件中有一条消息定义为:

message Response {
  google.protobuf.BoolValue field = 1;
  ...
}
Run Code Online (Sandbox Code Playgroud)

为了Response在Python中进行初始化,我需要创建一个布尔基元包装器并附加一些值。

如果将这个值初始化为True,这很好。从Python笔记本中:

In [52]: from google.protobuf import wrappers_pb2 as wrappers
         boo = wrappers.BoolValue(value=True)
         boo

Out [52]: value: true
Run Code Online (Sandbox Code Playgroud)

如果要将此值初始化为False,则不会创建任何包装的对象:

In [52]: from google.protobuf import wrappers_pb2 as wrappers
         boo = wrappers.BoolValue(value=False)
         boo

Out [52]: 
Run Code Online (Sandbox Code Playgroud)

如何创建一个BoolValue初始化为false的?

python protocol-buffers

2
推荐指数
1
解决办法
983
查看次数