Загрузка данных
Загрузить данные в Tengri можно через Boto3. Это SDK для работы с сервисами AWS, в том числе с S3.
Загрузка данных из файла в 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');