Конвертация CSV файла в Parquet формат

Parquet — это открытый, колоночный формат хранения данных, совместимый с большинством фреймворков обработки данных в среде Hadoop.

Он обеспечивает эффективные схемы сжатия и кодирования данных, которые максимизируют эффективность хранения на дисках, и предоставляет повышенную производительность для обработки сложных данных в больших объемах.

Используя DLI, можно легко конвертировать данные формата CSV в формат Parquet.

  1. Выберите сервис Storage → Object Storage Service.

  2. Нажмите на имя нужной корзины.

    Подсказка

    Если нужной корзины нет, создайте корзину OBS.

    ../_images/s__table-convert-to-csv-select-busket.jpeg
  3. Перейдите в раздел Objects и нажмите кнопку Upload Object.

    ../_images/s__table-convert-to-csv-upload-object.jpeg
  4. Нажмите Add file и выберите файл CSV формата. Нажмите кнопку Upload.

    ../_images/s__table-convert-to-csv-add-file.jpeg
  5. Перейдите в сервис Data Lake Insight.

  6. В боковом меню выберите SQL Editor.

  7. Введите в строку запрос на создание таблицы и нажмите кнопку Execute:

    create table test_csv(id1 int, id2 int, id3 int, id4 int, id5 int)  using csv options(path 's3a://dli-test/test/test_name.csv')
    

    где

    • test_csv — это имя создаваемой таблицы;

    • dli-test/test/test_name.csv — путь к файлу таблицы CSV формата загруженной в корзину (например, dli-test — корзина, test — папка, test_name.csv — файл).

    ../_images/s__table-convert-to-csv-create-table.jpeg
  8. Если запрос прошел успешно внизу появится соответствующая надпись.

    ../_images/s__table-convert-to-csv-message.jpeg
  9. Запросите данные из таблицы test_csv и нажмите кнопку Execute:

    Select * from demo.test_csv
    

    где

    • demo — это имя базы данных;

    • test_csv — это имя таблицы.

    ../_images/s__table-convert-to-csv-select.jpeg
  10. Введите в строку запрос на создание таблицы в корзине OBS:

    CREATE TABLE `test_parquet` (`id1` INT, `id2` INT, `id3` INT, `id4` INT, `id5`INT) USING parquet OPTIONS (path 's3a://dli-test/test/')
    

    где

    • test_parquet — это имя создаваемой таблицы;

    • dli-test/test/ — путь к файлу в корзине OBS (например, dli-test — корзина, test — папка).

    Примечание

    Указывать файл формата Parquet не нужно, т. к. файл будет создан только после загрузки данных в таблицу.

    ../_images/s__table-convert-to-csv-create-table2.jpeg
  11. Теперь можно загрузить данные из таблицы CSV в таблицу Parquet. Введите запрос и нажмите кнопку Execute:

    insert into test_parquet select * from test_csv
    

    где

    • test_parquet — это имя таблицы Parquet;

    • test_csv — имя таблицы CSV в базе данных DLI.

    ../_images/s__table-convert-to-csv-insert.jpeg
  12. Проверьте результат в корзине OBS — будет загружен файл с данными в формате Parquet.

    ../_images/s__table-convert-to-csv-check-result.jpeg