Есть ли решение, чтобы сравнить результаты двух кластеров hdfs одной таблицы с одинаковыми sql - PullRequest
0 голосов
/ 09 января 2020

по какой-то причине мы делаем переход от старого кластера к новому. Но сначала наш новый кластер работает не очень хорошо, поэтому мы находим некоторые проблемы и исправляем их.

Но в то время Я трачу на исправление, некоторые etl работают, и sqls может выдавать некоторые неправильные данные. Как быстро сравнить данные двух кластеров одной и той же таблицы?

Я пытался использовать getmerge и контрольную сумму, чтобы найти различия, но я не уверен, что результаты двух кластеров разлились одинаково, в По моему мнению, два кластера могут производить различное количество блоков данных, поэтому разделение в каждом блоке может быть различным,

Как сравнить два данных? почти эти две данные одинаковы, но результат имеет разную величину разделения? Эти две таблицы большие, и у меня есть много сравнений, которые нужно сделать ... так что ...

Есть ли у какого-нибудь босса решение с этим справиться?

Большое спасибо.

1 Ответ

0 голосов
/ 09 января 2020

Да, возможно, вы можете создать внешнюю таблицу, которая будет указывать на ваши данные другого сервера, таким образом, вы можете запросить таблицы с другого сервера. Вам необходимо указать расположение данных в операторе создания таблицы.

просто убедитесь, что существует разрешение на доступ к другому HDFS-серверу. Также убедитесь, что разрешения согласованы (ie области Kerberos являются доверенными) и промежуточный каталог установки указывает на местоположение данных

, это может быть как

CREATE TABLE othertable (a INT, b STRING, c INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘,’
LOCATION ‘hdfs://{Name service on second cluster}/<path to table>’;
...