小编Dav*_*ein的帖子

将大量有序时间序列数据存储在大型衍生品中

我试图弄清楚这些新的数据存储如bigtable,hbase和cassandra到底是什么.

我处理大量的股票市场数据,数十亿行价格/报价数据,每天可以累计达到100千兆字节(尽管这些文本文件通常压缩至少一个数量级).这个数据基本上是一些数字,两个或三个短字符串和一个时间戳(通常是毫秒级).如果我必须为每一行选择一个唯一的标识符,我将不得不选择整行(因为交换可能会在同一毫秒内为同一个符号生成多个值).

我想将这些数据映射到bigtable(我包括它的衍生物)的最简单方法是按符号名称和日期(这可能会返回一个非常大的时间序列,超过百万个数据点并非闻所未闻).通过阅读他们的描述,看起来这些系统可以使用多个密钥.我还假设十进制数不是键的好选择.

其中一些系统(例如Cassandra)声称能够进行范围查询.在给定的一天,上午11:00到下午1:30之间,我是否能够有效地查询MSFT的所有值?

如果我想搜索给定日期的所有符号,并请求价格在10美元到10.25美元之间的所有符号,那么该怎么办?所以我正在搜索这些值,并希望返回键作为结果?

如果我想得到两个系列,从另一个中减去一个,并返回两次系列及其结果,我将在自己的程序中做他的逻辑怎么办?

阅读相关论文似乎表明这些系统不适合大规模时间序列系统.但是,如果谷歌地图等系统基于它们,我认为时间序列也应该有效.例如,将时间视为x轴,将价格视为y轴,将符号视为命名位置 - 突然之间看起来像bigtable应该是时间序列的理想存储(如果整个地球可以存储,检索,放大和注释,股市数据应该是微不足道的).

有些专家可以指出我正确的方向或澄清任何误解.

谢谢

finance hbase bigtable time-series cassandra

38
推荐指数
3
解决办法
2万
查看次数

如何在maven程序集中包含空目录?

在必须是常见的事件中,我需要在程序集中包含一个空目录.就我而言,它是logs /.

我在程序集描述符中尝试了不同的变体,如:

<fileSet>
  <directory>${basedir}/target</directory>
  <includes>
    <include>doesntexist</include>
  </includes>
  <outputDirectory>/logs</outputDirectory>
  <fileMode>0644</fileMode>
</fileSet>
Run Code Online (Sandbox Code Playgroud)

并且目录刚刚被修剪.

我试图排除,但仍然包括很多东西:

<fileSet>
  <directory>${basedir}/target</directory>
  <excludes>
    <exclude>*</exclude>
  </excludes>
  <outputDirectory>/logs</outputDirectory>
  <fileMode>0644</fileMode>
</fileSet>
Run Code Online (Sandbox Code Playgroud)

maven maven-assembly-plugin

35
推荐指数
2
解决办法
2万
查看次数

为什么选择Buckminster而不是Maven?

我已经使用Maven几个月了,我对它在概念上和实践中如何运作非常满意.

我也非常广泛地研究了Buckminster(但尚未开始运行样品),试图弄清楚它是什么以及它是如何比较的.文档很差.例如,他们使用Build Automate和Deploy等术语,但我还没有看到有关部署的任何信息.分阶段迁移是另一个暗示但尚未讨论的主题.

Maven和Buckminster都可以指定依赖关系,并且通常可以管理构建,测试和可能的部署过程.

它们都具有eclipse集成,并且两者都应该(仅使用Maven)使基于eclipse的项目及其依赖项的设置和共享变得微不足道.

我能看到的主要区别是:

  • 依赖关系:

    • 除了能够引用Maven存储库以获取依赖关系之外,Buckminster还可以指定存储在源存储库中的依赖关系以及它自己的存储库类型.
    • Buckminster可以将依赖关系分组到虚拟发行版中,并且还可以识别平台.在Maven中,软件分组似乎是可能的,其中poms引用其他依赖并将它们分组.
  • 建立

    • Maven使用基于布局的隐式构建系统.创建一个默认项目非常容易,把它放在预期的位置,并有maven构建,测试和创建jar.同时,隐含也可以是收缩.你必须忍受Maven如何做事.
    • Buckminster - 我不清楚Buckminster如何决定构建什么以及如何构建它.似乎这会与日食过程一致.巴克敏斯特也允许使用蚂蚁,但目前尚不清楚这是否是一项要求.至少,生命周期较少(不?)定义为好或坏,允许更多的灵活性.
    • 这两种工具都允许无头构建,尽管巴克敏斯特可能携带更多的行李.
  • 插件

    • Maven为生命周期的所有阶段提供了非常广泛的插件集,适用于许多不同类型的自动化,从代码生成到运行嵌入式服务进行测试.
    • Buckminster似乎没有相同的插件概念.有读者和演员,但他们似乎没有扮演同样的角色.Buckminster应该可以访问可用于ant的大量插件.目前尚不清楚ant动作能够与其他Buckminster进程无缝集成(这也是maven ant插件的一个问题).
  • 部署

    • Maven有许多插件用于生成软件(程序集)的分发并移动它们(货车).Buckminster是否从Ant获得了所有这些?
  • 复杂

    • Buckminster的不同模式在CPECs RMAPs MSPEC等之间可能相当复杂.
    • 虽然Maven在大型和多模块项目中变得复杂,但它在配置方面稍微简单一些.Maven还有Archetypes,可以轻松创建新项目.
  • 文档

    • 他们都很糟糕.;-)
    • Buckminster非常浅,文档化.没有足够的例子可供使用.
    • Maven插件往往文档很差,很难让它们正常运行.

从我的角度来看,我想用Buckminster做的大部分事情都可以和Maven一起使用.从版本控制"实现"是一个优点,但组织中的开发人员可以将maven快照发布到存储库以便彼此共享,此外还提供固定版本.

似乎有更多的灵活性和自由来避免Maven生命周期的限制(曾经想要添加另一个阶段,比如后期测试清理?必须等待它们在核心中进行).

我错过了什么?Buckminster中是否有一些重要的功能值得提升复杂性?

上面是否有任何疯狂的真实陈述(鉴于我不是Buckminster用户而只有中低级别的Maven用户)?

java build-automation maven-2 buckminster

21
推荐指数
4
解决办法
6618
查看次数