我有一个表(让我们称之为数据)与一组对象ID,数值和日期.我想确定其值在过去X分钟(例如,一小时)内具有正趋势的对象.
示例数据:
entity_id | value | date
1234 | 15 | 2014-01-02 11:30:00
5689 | 21 | 2014-01-02 11:31:00
1234 | 16 | 2014-01-02 11:31:00
Run Code Online (Sandbox Code Playgroud)
我试着看类似的问题,但没有找到任何帮助不幸...
我正在尝试使用LIKE条件在Spark SQL中实现连接.
我正在执行连接的行看起来像这样,称为"修订版":
表A:
8NXDPVAE
Run Code Online (Sandbox Code Playgroud)
表B:
[4,8]NXD_V%
Run Code Online (Sandbox Code Playgroud)
在SQL server(A.revision LIKE B.revision)上执行连接工作正常,但在Spark SQL中执行相同操作时,连接不返回任何行(如果使用内部连接)或表B的空值(如果使用外部连接).
这是我正在运行的查询:
val joined = spark.sql("SELECT A.revision, B.revision FROM RAWDATA A LEFT JOIN TPTYPE B ON A.revision LIKE B.revision")
Run Code Online (Sandbox Code Playgroud)
该计划如下:
== Physical Plan ==
BroadcastNestedLoopJoin BuildLeft, LeftOuter, revision#15 LIKE revision#282, false
:- BroadcastExchange IdentityBroadcastMode
: +- *Project [revision#15]
: +- *Scan JDBCRelation(RAWDATA) [revision#15] PushedFilters: [EqualTo(bulk_id,2016092419270100198)], ReadSchema: struct<revision>
+- *Scan JDBCRelation(TPTYPE) [revision#282] ReadSchema: struct<revision>
Run Code Online (Sandbox Code Playgroud)
是否可以像这样执行LIKE连接或者我离开了?
我们正在使用 Apache HttpClient 库来连接到 Kerberos 安全的 REST 端点,该端点位于为多个应用程序提供服务的负载均衡器后面,因此正向和反向 DNS 查找结果之间存在不匹配。
虽然我们可以通过在 krb5.conf 文件中设置 rdns=false 使用 cURL 成功建立经过身份验证的会话,但在 Java 中似乎不可能这样做 - 它只是忽略此设置并始终执行反向 DNS 查找,这当然会失败由于不匹配而握手。
我没有找到关于这个问题的太多信息,但我确实找到了这个开放的 Jira 项目,它解释了我们看到的行为......但没有提供任何解决方法:https : //bugs.openjdk.java.net/浏览/JDK-8189361
到目前为止,我发现的唯一可行的解决方法是使用自定义名称服务提供商来“劫持”反向 DNS 查找并返回所需的主机名。
关于这方面的信息也非常稀少,但我发现大约 12 年前的这篇博文似乎仍然有效(虽然感觉像是一个非常肮脏的黑客):http :
//rkuzmik.blogspot.co.il/2006/08 /local-managed-dns-java_11.html
然而,我感觉我可能在这里遗漏了一些东西,因为关于这个问题的信息似乎很少。
在 Java 中执行 Kerberos 时,是否有其他人遇到禁用反向 DNS 查找的问题?如果是这样,你是如何解决这个问题的。
有没有办法引用包含 SPeL 表达式的对象的当前实例?
我基本上是在寻找类似的东西
@Value("#{otherBean.getClassName(this.GetClass())}")
Run Code Online (Sandbox Code Playgroud)
例如, WheregetClassName(Class<T> class)返回类的名称。