小编sno*_*ndy的帖子

如何让maven在版本范围内使用最新版本?

在我的maven项目中,我使用这样的依赖:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>[4.2.2, 5.0)</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

由于下一个主要版本(5.0)可能会更改API,我希望我的项目使用可用于分支4.x 的最新稳定版本.

今天早上的bug调查告诉我这个表达式[4.2.2,5.0]抓住了任何可用的版本.就我而言:4.3-alpha1.

如何让maven在版本范围内使用最新版本?

maven-2 maven

19
推荐指数
1
解决办法
1万
查看次数

如何为Amazon ELB SSL使用*.pfx证书

我有cert.pfx文件,我需要安装在Amazon Elastic Load Balancer中使用.我该怎么做?

openssl ssl-certificate pfx amazon-web-services amazon-elb

17
推荐指数
1
解决办法
8464
查看次数

java.sql.Timestamp比较错误?

你好,我有一个像这样的代码片段:

Date d1 = new java.sql.Timestamp(new Date().getTime());
Thread.sleep(10);
Date d2 = new java.sql.Timestamp(new Date().getTime());
System.out.println("Date1: " + d1);
System.out.println("Date2: " + d2);
System.out.println("Comparing times d1.t < d2.t: " + (d1.getTime() < d2.getTime()));
System.out.println("Comparing dates d1.before(d2): " + (d1.before(d2)));
Run Code Online (Sandbox Code Playgroud)

输出如下所示:

Date1: 2013-03-26 11:04:01.093
Date2: 2013-03-26 11:04:01.103
Comparing times d1.t < d2.t: true
Comparing dates d1.before(d2): false
Run Code Online (Sandbox Code Playgroud)

这个java.sql.Timestamp类出了什么问题?

是的,我看到了这个:

注意:此类型是java.util.Date和单独的纳秒值的组合.只有整数秒存储在java.util.Date组件中.分数秒 - 纳米 - 是分开的.传递类型为java.util.Date的值时,Timestamp.equals(Object)方法永远不会返回true,因为日期的nanos组件未知.因此,Timestamp.equals(Object)方法与java.util.Date.equals(Object)方法不对称.此外,哈希码方法使用底层的java.util.Date实现,因此在其计算中不包括nanos.

由于Timestamp类和上面提到的java.util.Date类之间存在差异,因此建议代码不要将Timestamp值一般视为java.util.Date的实例.Timestamp和java.util.Date之间的继承关系实际上表示实现继承,而不是类型继承.

但它是Date < - > Timestamp关系.

在我的例子中,我只有Timestamps,但行为仍然是意外的..

更新:答案

发生这种情况的原因是before()方法过载,而不是覆盖java.sql.Timestamp.我期待'覆盖'行为.比较时间戳的正确方法是使用Timestamp变量,而不是Dates.

这在Java核心中仍然是一个糟糕的设计决策,因为继承应该意味着Timestamp是一个Date,没有惩罚和例外.

java comparison timestamp

11
推荐指数
1
解决办法
9705
查看次数

Liquibase:如何禁用FILENAME列检查?

对于我们的应用程序,我们可能需要在命令行(手动生产)和运行应用程序启动时自动运行数据库迁移(测试环境等).

问题是Liquibase将整个文件名视为changeSet标识的一部分,因此如果路径不同,它会尝试重新应用更改集.例如,在"完全限定路径"VS"相对路径"的情况下,到db-changelog文件.

如何禁用FILENAME列检查?

liquibase

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

Apache Spark:如何将带有正则表达式的数据框列转换为另一个数据框?

我有几列的Spark Data Frame 1:(user_uuid,url,date_visit)

我想用以下形式将此DF1转换为数据帧2:(user_uuid,domain,date_visit)

我想要使​​用的是正则表达式来检测域并将其应用于DF1 val regexpr = """(?i)^((https?):\/\/)?((www|www1)\.)?([\w-\.]+)""".r

你能帮我编写代码来转换Scala中的数据框吗?我是Spark和Scala的新手,语法很难.谢谢!

regex scala apache-spark

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

如何设置Zeppelin以使用远程EMR纱线群集

我有带有Spark 1.4.1的Amazon EMR Hadoop v2.6集群,以及Yarn资源管理器.我想在单独的机器上部署Zeppelin,以便在没有作业运行时关闭EMR集群.

我尝试按照这里的说明https://zeppelin.incubator.apache.org/docs/install/yarn_install.html但 没有取得多大成功.

有人可以揭开Zeppelin如何从不同机器连接到现有Yarn集群的神秘面纱吗?

emr hadoop-yarn apache-spark apache-zeppelin

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

服务器重启后,'docker ps'会永远挂起

服务器重启后,docker看起来很活跃,但是所有命令都会docker ps一直挂起,直到我按下Ctrl + C. 有什么不对?

Docker version 1.12.6, build 7392c3b/1.12.6 Linux ip-10-0-1-124 4.4.10-22.54.amzn1.x86_64

docker

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

在控制台中为 ibm websphere 服务器设置代理配置

我的 WebSphere ESB 服务器在我们网络中的公司代理服务器后面运行。当我尝试访问外部 Web 服务时,出现网络异常(无法访问目标主机)。

除了服务器启动参数外,有没有办法在控制台中设置我的代理配置?-Dhttp.proxyHost=10.0.0.100 -Dhttp.proxyPort=8800

websphere proxy http setting

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

如何为我的用例选择正确的键值存储?

我将描述数据和案例。

record {
    customerId: "id", <---- indexed
    binaryData: "data" <---- not indexed
}
Run Code Online (Sandbox Code Playgroud)

期望:

  • customerId 是随机的 10 位数字
  • 二进制记录数据的平均大小 - 1-2 KB
  • 每个 customerId 最多可能有 100 条记录
  • 记录总数 - 500M
  • 写入模式#1:一次插入一条记录
  • 写入模式#2:批处理,可能是并行的,速度至少为每小时 20M 记录
  • 搜索模式 #1:按 customerId 查找所有记录
  • 搜索模式 #2:按 customerId 组并行查找所有记录,速度至少为每小时 10M customerId
  • 数据不太重要,我们可以用可靠性的某些方面来换取速度
  • 我们假设在 AWS / GCP 中工作 - 最好我们的键值存储由云管理
  • 我们不希望每个月在此解决方案的云成本上花费超过 1000 美元

我们尝试过的:

我们在 AWS RDS MariaDB 的关系数据库中实施了这种方法。服务器为 32GB RAM,2TB GP2 SSD,8 个 CPU。发现IOPS使用率高,插入速度不理想。经过调查,我得出结论,由于 customerId 的随机性,对索引的不同写入率很高。在此之后,我做了以下事情:

  • 输入数据按 customerId ASC 排序
  • 进行了额外的交易以减少索引大小,而单条记录读取速度几乎没有降低。为此,我做了一些存储桶,其中记录 1111111185 和 1111111186 转到同一个“存储桶”11111111。这样存储桶不能包含超过 100 个 …

key-value nosql key-value-store

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

为什么 AWS RDS 仍然显示磁盘大小为 2TB gp2 的突发余额 0?

根据我从 AWS 文档(链接)中对 gp2 的了解,gp2 磁盘在小于 1000GB 时具有爆发能力。磁盘大1000GB后,基准性能超过3000 IOPS的突发性能,所以“突发”一词不适用。

但是,正如我在当前具有 2TB gp2 存储的 prod 数据库中看到的那样,突发平衡仍然以某种方式适用于我,并且当突发平衡大于 0 时,存储速度要快得多。

显然,AWS Burst 术语发生了变化。有没有人知道现代术语,所以我可以相应地规划我的硬件?

突发平衡 指标 指标

amazon-web-services amazon-rds

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