Вам необходимо использовать сторонний инструмент, который анализирует весь файл данных S3, чтобы построить схему SQL из набора данных в файле. Или, возможно, инструмент получил доступ к определению источника данных (которого нет у Snowflake), чтобы упростить работу для инструмента.
Вы можете найти фрагменты кода хранимой процедуры Snowflake, выполнив поиск здесь в stackoverflow, который выводит определения схемы, например, рекурсивное выравнивание JSON файлов данных.
Если вы хотите, чтобы импорт был гибким, вам нужно использовать гибкий формат данных, такой как JSON, и гибкий тип данных SQL, такой как VARIANT
. Это будет работать, даже если ваши структуры данных изменятся.
Если вы хотите использовать жесткие форматы, такие как CSV или жесткие SQL типы данных (большинство из которых жесткие), тогда все становится сложнее. Жесткие данные не являются гибкими, и, например, CSV-файлы не содержат никакой встроенной информации о типах, что делает невозможными большие предположения на будущее.
И, возможно, вы удовлетворены тем, что все ваши столбцы заканчиваются как VARCHAR
...