当前位置: 首页 > 知识库问答 >
问题:

编写MapReduce时出现Apache Phoenix双数据类型问题

鲁向明
2023-03-14
CREATE TABLE INVOICE (ROWKEY VARCHAR NOT NULL PRIMARY KEY, CF1.INVOICEID VARCHAR, CF1.TOTALAMOUNT DOUBLE,CF1.STATUS VARCHAR,CF1.CREATEDATE DATE);
column=CF1:TOTALAMOUNT, timestamp=1434102384451, value=\xC0m@\x00\x00\x00\x00\x01
public void map(ImmutableBytesWritable key, Result value, Context context)
 throws IOException, InterruptedException {
Double Val = Bytes.toDouble(value.getValue(CF.TOTALAMOUNT)
context.write(key, new Text(val));
}

-

AQIMPNEW_12345689_SQ123,-100.00000000000001                               
aqipm2037|4567899,0.018310546875,                                   
aqipm2047|456789,-4.9E-324,


Phoenix Output : 
|               TOTALAMOUNT                |
| 100.0                                    |
| -234.0                                   |

| 0.0

共有1个答案

印瑾瑜
2023-03-14

Phoenix使用其不同的转换方案将数据类型存储到HBase中。当您使用Phoenix获取数据时,它会使用相同的转换方案对数据进行解码并显示给您。因此,与其尝试从MR代码直接连接HBase,不如使用Phoenix Map Reduce Integration。

参考:https://phoenix.apache.org/phoenix_mr.html

然而,如果你仍然想直接连接到HBase,你必须使用与菲尼克斯相同的编码器和解码器。

 类似资料:
  • 由于网络的原因,如何有效的写大数据在异步框架是一个特殊的问题。因为写操作是非阻塞的,即便是在数据不能写出时,只是通知 ChannelFuture 完成了。当这种情况发生时,你必须停止写操作或面临内存耗尽的风险。所以写时,会产生大量的数据,我们需要做好准备来处理的这种情况下的缓慢的连接远端导致延迟释放内存的问题你。作为一个例子让我们考虑写一个文件的内容到网络。 在我们的讨论传输(见4.2节)时,我们

  • 我正在尝试将我的应用程序移植到TDEngine,该应用程序通过其无模式接口将ImpxDb数据写入TDEngine。我认为这应该很容易,但实际上并不容易。 爪哇代码如下: 我在控制台上得到了结果: 传感器,设备 Id=传感器0 电流=10.2,json$j=“{”f6“:”tt“,”f7“:”aa“,”f0“:”tt“,”f1“:”aa“,”f2“:”tt“,”f3“:”aa“,”f4“:”tt“,

  • 我似乎无法使用Excel::Writer::XLSX将超过85,000行导出到. xlsx文件。导出超过85,000行数据会导致5KB文件中没有数据。当导出85,000条记录或90,000条记录(约40秒)时,脚本运行所需的时间大致相同。 85000行的文件是7.9MB,但90000行的文件只有5KB。 使用top监视导出脚本,我的perl脚本只显示大约1%的内存使用率,几秒钟后就会消失。我不熟悉

  • 我在运行数据流作业时得到以下错误。我正试图将现有的beam版本更新到2.11.0,但在运行时出现了以下错误。 java.lang.incompatibleClassChangeError:类org.apache.beam.model.pipeline.v1.runnerAPI$standardpTransforms$Primitives没有实现在org.apache.beam.runners.co

  • 我写了映射和Reduce程序,其中reducer的输出键和值不同于它的输入或映射器的输出。我在司机班上做了适当的改变。下面是我在运行它时得到的异常: 信息MapReduce.job:任务Id:Attribut_1550670375771_4211_M_0000032,状态:失败错误:java.io.ioException:map中的值类型不匹配:expected org.apache.hadoop

  • 如果我没有使用spring构建图形,那么是否可以使用spring框架完全访问我的neo4j图形?我正在尝试一些示例,但它似乎无法正常工作,因为spring创建的某些元数据不存在。 编辑:例如,我有这个错误当我试图通过它的id访问一个节点时,即