Загрузка данных
Загрузить данные в Tengri можно следующими способами:
-
С помощью мастера загрузки — кнопка Upload file.
-
Через модуль Python
tngri
.
Загрузка данных из локального файла с помощью мастера загрузки
Поддерживаемые расширения файлов для загрузки:
-
.csv
-
.json
-
.parquet
Чтобы загрузить данные из файла:
-
Нажмите Upload file (Загрузить файл) в интерфейсе Tengri.
-
Выберете или переместите файл в открывшуюся область загрузки.
-
В открывшемся окне Parse file (Распознать файл) проверьте правильность распознанных данных.
При необходимости выберете нужные настройки распознавания и нажмите Next (Далее). -
После этого вы увидите ячейку с кодом загрузки файла для вставки в ноутбук.
Для файлаfile_name.csv
и для пользователяuser_name
она будет иметь вид:select * from read_csv( "user_name/<id>_file_name.csv" )
Нажмите Add cell (Добавить ячейку), чтобы добавить эту ячейку в ваш ноутбук.
После добавления ячейки в ноутбук данные из файла будут доступны для работы.
Загрузка данных из файла через модуль Python tngri
Чтобы загружать данные из нелокальных файлов, можно использовать модуль Python tngri
.
Загрузка данных из файла по URL
Пример кода на Python для загрузки в Tengri данных из файла iris.csv
, расположенного по указанному URL:
import polars (1)
import tngri
df = polars.read_csv(
"https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv" (2)
)
tngri.upload_df(df) (3)
1 | Импортируем необходимые модули Python |
2 | Считываем файл по указанному URL и записываем его в переменную df с помощью модуля polars |
3 | Загружаем данные из df в Tengri с помощью метода tngri.upload_df |
Помимо файлов .csv
, этот способ может использоваться и для других расширений — .json
, .xlsx
и прочих (подробнее см. в документации Polars по загрузке данных).
После этого в ячейке вывода появится сообщение вида:
UploadedFile(s3_path='s3://<path>/<file_id>.parquet')
Теперь данные из файла доступны для работы. Чтобы работать с ними, нужно использовать функцию read_parquet
и указать id загруженного файла .parquet
с предыдущего шага:
SELECT * FROM read_parquet('<file_id>.parquet');
Расширение .parquet будет у загруженного таким образом файла в любом случае вне зависимости от расширения начального файла.
|
Загрузка данных из файла, сохраненного в S3
Пример кода на Python для загрузки в Tengri данных из файла my_file.parquet
, расположенного в вашем бакете S3:
import tngri (1)
tngri.upload_s3(
object="s3://my_folders/my_file.parquet", (2)
access_key="***",
secret_key="***"
)
1 | Импортируем модуль Python tngri |
2 | Задаем параметры вашего бакета S3 (путь к файлу и ключи для доступа) |
Метод tngri.upload_s3
загружает файл из вашего бакета S3 в Tengri.
После этого данные из файла будут доступны для работы.
Расширение файла при этом может быть любым. Оно останется тем же, каким оно было в начальном файле. Для работы с разными расширениями нужно использовать разные функции.
Работать с данными из файла в нашем примере можно с помощью функции read_parquet
:
SELECT * FROM read_parquet('my_file.parquet');
При необходимости для загружаемого файла можно задать путь и имя внутри Tengri через опциональный параметр filename
метода tngri.upload_s3
:
filename="new_path/new_name.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');