У нас вы можете посмотреть бесплатно Считывание JSON-данных с внешнего устройства, их выравнивание и запись в таблицу Snowflake с помо... или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
В этом видео объясняется, как читать данные из JSON-файлов, находящихся на внешнем этапе Snowflake, преобразовывать данные в плоскую структуру и загружать их в таблицу Snowflake с помощью Snowpark Python. Документация: ------------------------------ https://docs.snowflake.com/ko/develop... Набор данных: ----------------- https://github.com/SatadruMukherjee/D... SQL-запрос: ------------------ удалить базу данных, если существует ramu; --Создать базу данных создать базу данных, если не существует ramu; --Использовать базу данных использовать ramu; создать или заменить формат файла json_format type = 'json'; --создание этапа создать или заменить этап ramu.PUBLIC.snow_simple url="s3://{}/{}/" credentials=(aws_key_id='' aws_secret_key='{}') file_format = json_format; --проверить данные, имеющиеся в S3 list @ramu.PUBLIC.snow_simple; --выполнить запрос select t.$1 from @ramu.PUBLIC.snow_simple t; выберите t.$1:id как id, t.$1:sepal_length как sepal_length, t.$1:sepal_width как sepal_width, t.$1:petal_length как petal_length, t.$1:petal_width как petal_width, t.$1:class_name как class_name из @ramu.PUBLIC.snow_simple t; выберите t.$1:id как id, t.$1:sepal_length как sepal_length, t.$1:sepal_width как sepal_width, t.$1:petal_length как petal_length, t.$1:petal_width как petal_width, trim(t.$1:class_name,'"') как class_name из @ramu.PUBLIC.snow_simple t; select * из raw_json_write; select t.$1:id как id, t.$1:sepal_length как sepal_length, t.$1:sepal_width как sepal_width, t.$1:petal_length как petal_length, t.$1:petal_width как petal_width, trim(t.$1:class_name,'"') как class_name из raw_json_write t; select count(*) from flattened_data; Код Python: ----------------------- from snowflake.snowpark import Session from snowflake.snowpark.functions import * from snowflake.snowpark.types import * #настройка подключения connection_parameters = {"account":"", "user":"", "password": "", "role":"", "warehouse":"", "database":"", "schema":"" } session = Session.builder.configs(параметры_подключения).create() iris_flower_read=session.read.json('@ramu.PUBLIC.snow_simple') iris_flower_read.columns iris_flower_read.schema iris_flower_read.show() iris_flower_read1=iris_flower_read.select('$1:id') iris_flower_read1.s как() iris_flower_read1 = iris_flower_read.select_expr('$1:id') iris_flower_read1.show() iris_flower_read1 = iris_flower_read.select_expr('$1:id','$1:длина_сепалы','$1:ширина_сепалы','$1:длина_лепестка','$1:ширина_лепестка','$1:имя_класса') iris_flower_read1.show() a_dict = {'"$1:ID"': 'ID', '"$1:SEPAL_LENGTH"': 'SEPAL_LENGTH','"$1:SEPAL_WIDTH"': 'SEPAL_WIDTH', '"$1:PETAL_LENGTH"': 'PETAL_LENGTH','"$1:PETAL_WIDTH"': 'PETAL_WIDTH', '"$1:CLASS_NAME"': 'CLASS_NAME'} для ключа, значения в a_dict.items(): iris_flower_read2= iris_flower_read1.withColumnRenamed(ключ, значение) iris_flower_read1=iris_flower_read2 iris_flower_read2.show() iris_flower_read3=iris_flower_read2.select('ID','SEPAL_LENGTH','SEPAL_WIDTH','PETAL_LENGTH','PETAL_WIDTH', replace(iris_flower_read2['CLASS_NAME'],'"','').alias('CLASS_NAME')) iris_flower_read3.show() #запись данных iris_flower_read.write.mode('overwrite').saveAsTable('raw_json_write') #запись данных iris_flower_read3.write.mode('append').saveAsTable('flattened_data') Смотрите этот плейлист, чтобы узнать больше о Data Engineering Видео: • Demystifying Data Engineering with Cloud C... Apache Kafka с нуля • Apache Kafka for Python Developers Полный курс Snowflake с нуля с сквозным проектом и подробным объяснением — https://doc.clickup.com/37466271/d/h/... 🙏🙏🙏🙏🙏🙏🙏🙏🙏 ВАМ НУЖНО СДЕЛАТЬ ВСЕГО 3 ВЕЩИ, чтобы поддержать мой канал ЛАЙК ПОДЕЛИТЬСЯ И ПОДПИСАТЬСЯ НА МОЙ YOUTUBE КАНАЛ