Вставка данных в физическую таблицу Greenplum
Я пытаюсь вставить данные из внешней таблицы Greenplum в физическую (или обычную таблицу) таблицу. Внешняя таблица указывает на файл куста, который содержит около 132 миллионов данных. Но, когда моя внешняя таблица показывает только 66 миллионов. В результате при вставке в физическую таблицу у меня вставляется только 66 миллионов записей. Почему это так? Имеет ли что-нибудь отношение к свойствам таблицы моей внешней таблицы? если так как?
3 ответа
При подсчете через улей вы видите 66 миллионов записей. Предполагая, что вы только что сделали count(*)
это должно быть достаточно прямым.
Теперь вы не довольны этим, поскольку у вас есть 132 миллиона "данных", что в два раза больше.
Я не буду беспокоиться о настройках, которые позволяют загружать только первые 66 миллионов записей, поэтому давайте рассмотрим вероятных подозреваемых.
- Две "данные" (строки?) Соответствуют одной записи.
- В данных есть что-то странное, что заставляет вас пропустить половину записей, когда вы оцениваете это как таблицу. (Возможно, разрыв после 66 миллионов строк, возможно, странные окончания строк)
- Вы на самом деле не загружали все ваши входные файлы
Тщательный осмотр должен указывать на фактического виновника. Если вы не знаете с чего начать:
- Посмотрите на первые и последние несколько строк в файле и сравните их полное содержимое с первой и последней несколькими записями в таблице.
- Проверьте, представлены ли строки из каждого входного файла в выходных данных.
- Если вы уверены, что некоторые данные отсутствуют, попробуйте определить, какая строка из входных файлов должна отсутствовать, и посмотрите, можете ли вы найти их в таблице.
В заключение! Проблема, кажется, исправлена. Я продолжил свои исследования по этому вопросу, и проблема, похоже, связана с избыточностью данных. (Как предложил Денис в предыдущем ответе). Таблица имела дублирующиеся значения (дублированные по всем столбцам). Каждая запись имела другой набор из 11 дубликатов записей (что приемлемо, хотя в моем случае). Чтобы избежать избыточности, я добавил еще один столбец, который мог бы выступать в качестве первичного ключа (сгенерированный автоматически суррогатный ключ). Теперь, когда я попытался загрузить физическую таблицу greenplum из внешней таблицы, я смог увидеть все 132 миллиона вставленных записей без каких-либо проблем.
Однако, хотя моя проблема решена, для более глубокого анализа остается вопрос о пороговом значении (66 миллионов записей). Новый вопрос будет опубликован по этому вопросу.