Вставка данных в физическую таблицу Greenplum

Я пытаюсь вставить данные из внешней таблицы Greenplum в физическую (или обычную таблицу) таблицу. Внешняя таблица указывает на файл куста, который содержит около 132 миллионов данных. Но, когда моя внешняя таблица показывает только 66 миллионов. В результате при вставке в физическую таблицу у меня вставляется только 66 миллионов записей. Почему это так? Имеет ли что-нибудь отношение к свойствам таблицы моей внешней таблицы? если так как?

3 ответа

При подсчете через улей вы видите 66 миллионов записей. Предполагая, что вы только что сделали count(*) это должно быть достаточно прямым.

Теперь вы не довольны этим, поскольку у вас есть 132 миллиона "данных", что в два раза больше.

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

  1. Две "данные" (строки?) Соответствуют одной записи.
  2. В данных есть что-то странное, что заставляет вас пропустить половину записей, когда вы оцениваете это как таблицу. (Возможно, разрыв после 66 миллионов строк, возможно, странные окончания строк)
  3. Вы на самом деле не загружали все ваши входные файлы

Тщательный осмотр должен указывать на фактического виновника. Если вы не знаете с чего начать:

  1. Посмотрите на первые и последние несколько строк в файле и сравните их полное содержимое с первой и последней несколькими записями в таблице.
  2. Проверьте, представлены ли строки из каждого входного файла в выходных данных.
  3. Если вы уверены, что некоторые данные отсутствуют, попробуйте определить, какая строка из входных файлов должна отсутствовать, и посмотрите, можете ли вы найти их в таблице.

Разделена ли ваша таблица улья

В заключение! Проблема, кажется, исправлена. Я продолжил свои исследования по этому вопросу, и проблема, похоже, связана с избыточностью данных. (Как предложил Денис в предыдущем ответе). Таблица имела дублирующиеся значения (дублированные по всем столбцам). Каждая запись имела другой набор из 11 дубликатов записей (что приемлемо, хотя в моем случае). Чтобы избежать избыточности, я добавил еще один столбец, который мог бы выступать в качестве первичного ключа (сгенерированный автоматически суррогатный ключ). Теперь, когда я попытался загрузить физическую таблицу greenplum из внешней таблицы, я смог увидеть все 132 миллиона вставленных записей без каких-либо проблем.

Однако, хотя моя проблема решена, для более глубокого анализа остается вопрос о пороговом значении (66 миллионов записей). Новый вопрос будет опубликован по этому вопросу.

Другие вопросы по тегам