我有一些数据,其中包括colA和colB等列。对于任何行,colA和colB中的值都是不同的。
我会收到像SELECT * FROM table WHERE colA = X or colB = X这样的查询。为了进行优化,我在colA和colB中索引了MySQL。
现在,我想在HBase中构建这个数据库,提供相同的查询。但是我知道HBase没有索引,我需要设计好的行键。
我想到了这种方法:
复制MySQL中的每一行。对于一个副本,使用colA + randomString作为行键。另一方面,使用colB + randomString。(追加随机字符串,因为每个行键必须是唯一的)。
好的
我看到了它中的异常跟踪。有人能告诉我到底是怎么回事吗?
regionserver.HRegionServer: Run out of memory; HRegionServer will abort itself immediately
java.lang.OutOfMemoryError: Requested array size exceeds VM limit
at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:57)
at java.nio.ByteBuffer.allocate(ByteBuffer.java:331
我在试着把Spark Streaming和Hbase连接起来。我对我的代码真正做的就是使用这个,但是我得到了一个奇怪的运行时错误:
Exception in thread "streaming-job-executor-8" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
at buri.sparkour.HBaseInteractor.<init>(HBaseInteractor.java:26)
at buri.sparkour.JavaCustomReceiv