- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
").first().getDouble(0) 给我不一致的结果-6ren"> ").first().getDouble(0) 给我不一致的结果-我有下面的查询,它应该找到列值的平均值并返回单个数字的结果。 val avgVal = hiveContext.sql("select round(avg(amount), 4) from users-6ren">
我有下面的查询,它应该找到列值的平均值并返回单个数字的结果。
val avgVal = hiveContext.sql("select round(avg(amount), 4) from users.payment where dt between '2018-05-09' and '2018-05-09'").first().getDouble(0)
我在这个声明中遇到了不一致的行为。这通常会失败并出现以下错误,但是当通过 Hive 执行时它会给出非 NULL 结果。”
18/05/10 11:01:12 ERROR ApplicationMaster: User class threw exception: java.lang.NullPointerException: Value at index 0 in null
java.lang.NullPointerException: Value at index 0 in null
at org.apache.spark.sql.Row$class.getAnyValAs(Row.scala:475)
at org.apache.spark.sql.Row$class.getDouble(Row.scala:243)
at org.apache.spark.sql.catalyst.expressions.GenericRow.getDouble(rows.scala:192)
我使用 HiveContext 而不是 SQLContext 的原因是后者不支持我在代码中广泛使用的一些聚合函数。
您能帮我理解为什么会出现这个问题以及如何解决吗?
最佳答案
您需要将查询分为两部分:
var result = hiveContext.sql("select round(avg(amount), 4) from users.payment where dt between '2018-05-09' and '2018-05-09'");
var first = result.first();
if (first != null && !first.isNullAt(0)) {
var avgVal = first.getDouble(0);
}
这将避免 NPE。这在列表和数组中也需要。
对于插入或更新查询,您甚至需要用 try...catch
block 包围来捕获运行时异常。
关于java - Spark SQL sql ("<some aggregate query>").first().getDouble(0) 给我不一致的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50269797/
我在数据库表中有一些 double 。格式类似于 45.4438838当我从结果集中获取它时: rs.getDouble("value"); 返回的数字是45.0 我检查过,如果我这样做了 rs.ge
我在 Qt QInputDialog::getDouble() 中用于输入十进制数。出于某种原因,默认情况下输出逗号而不是逗号,尽管在教程中显示了一个点。 你能告诉我它是什么吗?新版本只能使用逗号吗?
本文整理了Java中com.yahoo.memory.WritableMemory.getDouble()方法的一些代码示例,展示了WritableMemory.getDouble()的具体用法。这些
本文整理了Java中javax.xml.xquery.XQItem.getDouble()方法的一些代码示例,展示了XQItem.getDouble()的具体用法。这些代码示例主要来源于Github/
本文整理了Java中facebook4j.internal.util.z_F4JInternalParseUtil.getDouble()方法的一些代码示例,展示了z_F4JInternalParse
我是 Java 和 JDBC 的新手。我试图通过 JDBC 从数据库中获取一个 double 值,并使一个全局变量等于该值。这是我所做的。 public class Console { Str
本文整理了Java中org.bukkit.configuration.file.YamlConfiguration.getDouble()方法的一些代码示例,展示了YamlConfiguration.
本文整理了Java中com.sk89q.util.yaml.YAMLProcessor.getDouble()方法的一些代码示例,展示了YAMLProcessor.getDouble()的具体用法。这
当我尝试在类里面将数据帧传输到 RDD 时,我遇到了一个非常有趣的错误。 我构建了一个名为 ROC 的类,它看起来像这样: class ROC(lines : DataFrame, x: Int, y
我从 Resultset.getDouble() 将值放入列表中。检索到的值是指数类型,例如 9.191152283705151E-10,有些值是 89.98999786376953 类型。 我希望将
有谁知道 Field.getDouble(Object) 是否在内部装箱和取消装箱 double ? 谢谢,RB 最佳答案 如果您在 double 字段上使用 Field.getDouble(),则不
在以下情况下,我很难理解 ByteBuffer 的语义: int sizeOfDouble = 8; int numberOfDoubles = 4; ByteBuffer testBuf = Byt
我有下面的查询,它应该找到列值的平均值并返回单个数字的结果。 val avgVal = hiveContext.sql("select round(avg(amount), 4) from users
我是一名优秀的程序员,十分优秀!