private def buildGets()

in spark/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/datasources/HBaseTableScanRDD.scala [121:152]


  private def buildGets(
      tbr: TableResource,
      g: Seq[Array[Byte]],
      filter: Option[SparkSQLPushDownFilter],
      columns: Seq[Field],
      hbaseContext: HBaseContext): Iterator[Result] = {
    g.grouped(relation.bulkGetSize).flatMap {
      x =>
        val gets = new ArrayList[Get](x.size)
        val rowkeySet = new mutable.HashSet[String]()
        x.foreach {
          y =>
            if (!rowkeySet.contains(y.mkString("Array(", ", ", ")"))) {
              val g = new Get(y)
              handleTimeSemantics(g)
              columns.foreach {
                d =>
                  if (!d.isRowKey) {
                    g.addColumn(d.cfBytes, d.colBytes)
                  }
              }
              filter.foreach(g.setFilter(_))
              gets.add(g)
              rowkeySet.add(y.mkString("Array(", ", ", ")"))
            }
        }
        hbaseContext.applyCreds()
        val tmp = tbr.get(gets)
        rddResources.addResource(tmp)
        toResultIterator(tmp)
    }
  }