Spark - Hbase частичное сканирование строки ключа - PullRequest
0 голосов
/ 20 января 2020

У меня есть сценарий сканирования полной таблицы HBASE, чтобы связать party_id со списком размещенных заказов.

My rowkey равно partyid.orderid и одно семейство столбцов (c1) со столбцами.

Пример

row_key            column_family  columns

1001.hchchxhsh     C1             order_id = hchchxhsh, timestamp =nnnnnnn

Теперь я знаю partyid = 1001 и мне нужно получить order_id = hchchxhsh. Таким образом, я получу миллион partyid в качестве входных данных для получения связанного с ним order_id и получу миллиард записей.

Использование нижеприведенного api для подключения hbase от spark.

Соединение hbase создано и используется после частичного сканирования.

val scan = new Scan(Bytes.toBytes(partyid+ "."), Bytes.toBytes(partyid+ "." + "~"))
table.getScanner(scan)

Задание Spark не выполнено, возникла следующая ошибка, и после перезапуска задание выполнено нормально. Пожалуйста, сообщите нам, если есть какие-либо проблемы со сканированием здесь?

org. apache .had oop .hbase.client.RetriesExhaustedException: Ошибка после попыток = 36, исключения:

null, java. net .SocketTimeoutException: region = hbasetablename, 1001: yehenen, nnnn.cndbdbdjd., имя хоста = nnnnnnn

...