scala处理时间序列数据

传统的java对于时间的操作是用Date类和Calender类
但是使用很麻烦
scala有一个包装库叫NScalaTime,他提供了JodaTime的一些语法。
需要在maven库中下载nscala的jar包
然后import com.github.nscala_time.time.Imports._

scala> val dt1=new DateTime(2014,9,4,9,0)
warning: Class org.joda.convert.ToString not found - continuing with a stub.
warning: Class org.joda.convert.ToString not found - continuing with a stub.
dt1: org.joda.time.DateTime = 2014-09-04T09:00:00.000+08:00

scala> dt1.dayOfYear.get
res0: Int = 247

scala> val dt2=new DateTime(2014,10,31,15,0)
dt2: org.joda.time.DateTime = 2014-10-31T15:00:00.000+08:00

scala> dt1<dt2
res1: Boolean = true

scala> val dt3=dt1+60.days
warning: Class org.joda.convert.FromString not found - continuing with a stub.
dt3: org.joda.time.DateTime = 2014-11-03T09:00:00.000+08:00

//字符转为date
scala> import java.text.SimpleDateFormat
import java.text.SimpleDateFormat

scala> val format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
format: java.text.SimpleDateFormat = [email protected]4f76f1a

scala> val date=format.parse("2014-10-12 10:30:44")
date: java.util.Date = Sun Oct 12 10:30:44 CST 2014

scala> val datetime=new DateTime(date)
datetime: org.joda.time.DateTime = 2014-10-12T10:30:44.000+08:00

//做差
scala> val d=new Duration(dt1,dt2)
d: org.joda.time.Duration = PT4946400S

scala> d.getMillis
res5: Long = 4946400000

scala> d.getStandardDays
res6: Long = 57

时间: 2024-12-23 04:27:21

scala处理时间序列数据的相关文章

面板数据、截面数据、时间序列数据

截面数据.时间序列数据.面板数据是最常见的三种样本数据形式,网上对于此类数据的介绍比较零散,我在此做一个汇总归纳,如有错误,欢迎指正,我在此只做简单介绍,并不涉及具体分析,特别是面板数据,分析比较复杂,有专门的书籍可以参阅. 一.截面数据(Cross Section data) 1.概念: 截面数据是指由同一时期.不同个体的一个或多个统计指标所组成的数据集.该数据强调同一时期,因此也称为静态数据,我们平时获取的样本数据,大都具有同期性,因此截面数据也是最常见的 样本数据.例如:2016年各省份人

使用Grafana展示时间序列数据

简介 Grafana是一个独立运行的系统,内置了Web服务器.它可以基于仪表盘的方式来展示.分析时间序列数据. Grafana支持多种数据源,例如:Graphite.OpenTSDB.InfluxDB.Elasticsearch.你可以混合使用多种数据源.它对Graphite有以下增强的支持: 点击修改Metrics路径的每一个片断 快速的添加函数,支持点击函数参数以修改之 修改函数顺序 丰富的模板支持 在UI方面,Grafana具有以下特性: 丰富的.基于客户端的图表组件:Bar图.区域图.线

OpenStack/Gnocchi简介——时间序列数据聚合操作提前计算并存储起来,先算后取的理念

先看下 http://www.cnblogs.com/bonelee/p/6236962.html 这里对于环形数据库的介绍,便于理解归档这个操作! 转自:http://blog.sina.com.cn/s/blog_6de3aa8a0102wk0y.html 早期的OpenStack监控(遥测)项目ceilometer被一分为四(Ceilometer.Gnocchi.Aodh.Panko),各司其职!其中Ceilometer负责采集计量数据并加工预处理:Gnocchi主要用来提供资源索引和存储

R语言时间序列数据应用xts

zoo是时间序列的基础库,是面向通用的设计. xts 是对时间序列库(zoo) 的一种扩展实现.xts 类型继承了zoo 类型,丰富了时间序列数据处理的函数. 一.xts对象的结构和定义 1.xts对象是一个具有时间索引的观测值矩阵,结构如下: xts = matrix + times 2.创建xts对象,函数如下: xts (x= ,  order.by= ,  -  ) 参数   x : 数据,必须是一个向量或者矩阵: order.by: 索引(index),是一个与x行数相同的升序排列的时

MetricGraphics.js – 时间序列数据的可视化

MetricsGraphics.js 是建立在D3的基础上,被用于可视化和布局的时间序列数据进行了优化.它提供以产生一个原则性的,一致的和响应式的方式的图形常见类型的简单方法.该库目前支持折线图,散点图和直方图,以及地毯地块和基本线性回归功能. 在线演示      源码下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码下载]

大数据DDos检测——DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然! 和一个句子的分词算法CRF没有区别!

DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然!--和一个句子的分词算法CRF没有区别!注:传统DDos检测直接基于IP数据发送流量来识别,通过硬件防火墙搞定.大数据方案是针对慢速DDos攻击来搞定.难点:在进行攻击的时候,攻击数据包都是经过伪装的,在源IP 地址上也是进行伪造的,这样就很难对攻击进行地址的确定,在查找方面也是很难的.这样就导致了分布式拒绝服务攻击在检验方法上是很难做到的.领域知识见:http://blog.csdn.n

Python 收集Twitter时间序列数据

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-18 @author: guaguastd @name: collect_time_series.py ''' if __name__ == '__main__': # import json import json # import partial from functools import partial # import trend from tren

Scala语言之数据集合(5)

==> Scala 中的数据集合:Map.列表.序列.集 ==> 集合有两种: 可变集合,不可变集合         ---> 可变集合    可以对集合进行修改操作         ---> 不可变集合    集合从不改变,因此可以安全的共享其引用 ==> Map         ---> 可变 val employeeInfo = scala.collection.mutable.Map("name"->"Tom", &

学习Scala 进击大数据Spark生态圈

第1章 初识Scala 了解Scala是什么,学习Scala的意义何在, Scala安装,快速入门,Scala与Java开发对比 第2章 Scala入门 掌握Scala变量与常量,数据类型,lazy的使用,Scala开发IDEA选择以及使用IDEA整合Maven搭建Scala应用程序开发环境 第3章 Scala函数 掌握函数在Scala中的定义以及使用的注意实现,条件以及循环表达式在Scala中的使用 第4章 Scala对象 这是Scala中的重中之重,务必要掌握,涉及到的内容有:类.构造器.继