2017-06-09 8 views
0

Hbaseからデータを読み込むためにsparkジョブを実行中にこのエラーが発生しました。ありがとう。java.lang.IllegalArgumentException:offset(0)+ length(8)が配列の容量を超えています:4

は、ここで私はほとんどの時間は型エラーでこの問題に会ったコード

val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat], 
     classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable], 
     classOf[org.apache.hadoop.hbase.client.Result]) 

    hBaseRDD.count() 

    // transform (ImmutableBytesWritable, Result) tuples into an RDD of Result’s 
    val resultRDD = hBaseRDD.map(tuple => tuple._2) 
    resultRDD.count() 
    // transform into an RDD of (RowKey, ColumnValue)s the RowKey has the time removed 
    val keyValueRDD = resultRDD.map(result => (Bytes.toString(result.getRow()).split(" ")(0), Bytes.toDouble(result.value))) 
    keyValueRDD.take(3).foreach(kv => println(kv)) 

    // group by rowkey , get statistics for column value 
    val keyStatsRDD = keyValueRDD.groupByKey().mapValues(list => StatCounter(list)) 
    keyStatsRDD.take(5).foreach(println) 

答えて

0

です。データの種類を再度確認してください。

関連する問題