Загрузка данных
Загрузить данные в Tengri можно следующими способами:
-
С помощью мастера загрузки — кнопка Upload file.
-
Через Boto3.
Загрузка данных из файла с помощью мастера загрузки
Поддерживаемые расширения файлов для загрузки:
-
.csv
-
.json
-
.parquet
Чтобы загрузить данные из файла:
-
Нажмите Upload file (Загрузить файл).
-
Выберете или переместите файл в открывшуюся область загрузки.
-
В открывшемся окне Parse file (Распознать файл) проверьте правильность распознанных данных.
При необходимости выберете нужные настройки распознавания и нажмите Next (Далее). -
После этого вы увидите ячейку с кодом загрузки файла для вставки в ноутбук.
Для файлаfile_name.csv
и для пользователяuser_name
она будет иметь вид:select * from read_csv( 'user_name/<id>_file_name.csv' )
Нажмите Add cell (Добавить ячейку), чтобы добавить эту ячейку в ваш ноутбук.
После добавления ячейки в ноутбук данные из файла будут доступны для работы.
Загрузка данных из файла через Boto3
Boto3 — это SDK для работы с сервисами AWS, в том числе с S3.
Для загрузки данных необходимо указать параметры бакета S3: Эти параметры будут выданы пользователю администратором хранилища S3 или командой Tengri. |
Пример кода на Python для загрузки данных из локального файла customer_country.csv
в хранилище S3:
pip install boto3; (1)
import boto3
s3_client = boto3.client('s3', (2)
endpoint_url='***',
aws_access_key_id='***',
aws_secret_access_key='***',
region_name='***')
file_name ='customer_country.csv' (3)
file_path = f'/tmp/{file_name}'
s3_client.upload_file(file_path,'TNGRI', f'Stage/{file_name}') (4)
1 | Устанавливаем Boto3 |
2 | Задаем параметры бакета S3 |
3 | Указываем имя файла и путь |
4 | Загружаем данные с помощью метода upload_file |
Метод upload_file
принимает следующие параметры:
-
Путь к файлу для загрузки
-
Имя бакета, в который производится загрузка
-
Имя объекта S3
и возвращает значение:
-
True
, если файл был успешно загружен; -
False
в противном случае.
Расширение загружаемого файла может быть любым: .txt
, .csv
, .json
, .parquet
и т.д.
Работа с данными из загруженного файла
-
Проверяем, что загруженный файл
.csv
доступен:SELECT * FROM read_csv('customer_country.csv');
-
Создаем таблицу с данными из загруженного файла
.csv
:CREATE OR REPLACE TABLE cust_country AS SELECT * FROM read_csv('customer_country.csv');
-
Загружаем данные из файла
.csv
в существующую таблицу:INSERT INTO cust_country SELECT * FROM read_csv('customer_country.csv');
Работа с данными из загруженных файлов разных расширений
Для работы с загруженными файлами других расширений нужно использовать соответствующие функции.
-
Создаем таблицу с данными из загруженного файла
.parquet
:CREATE OR REPLACE TABLE cust_country AS SELECT * FROM read_parquet('customer_country.parquet');
-
Создаем таблицу с данными из загруженного файла
.json
:CREATE OR REPLACE TABLE cust_country AS SELECT * FROM read_json('customer_country.json');