IonToCsv​Ion​To​Csv

Convert an ION file into CSV.

yaml
type: "io.kestra.plugin.serdes.csv.IonToCsv"

Download a CSV file, transform it in SQL and store the transformed data as a CSV file.

yaml
id: ion_to_csv
namespace: company.team

tasks:
  - id: download_csv
    type: io.kestra.plugin.core.http.Download
    description: salaries of data professionals from 2020 to 2023 (source ai-jobs.net)
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/salaries.csv

  - id: avg_salary_by_job_title
    type: io.kestra.plugin.jdbc.duckdb.Query
    inputFiles:
      data.csv: "{{ outputs.download_csv.uri }}"
    sql: |
      SELECT
        job_title,
        ROUND(AVG(salary),2) AS avg_salary
      FROM read_csv_auto('{{ workingDir }}/data.csv', header=True)
      GROUP BY job_title
      HAVING COUNT(job_title) > 10
      ORDER BY avg_salary DESC;
    store: true

  - id: result
    type: io.kestra.plugin.serdes.csv.IonToCsv
    from: "{{ outputs.avg_salary_by_job_title.uri }}"
Properties

Source file URI

Default false

Whether fields should always be delimited using the textDelimiter option.

Default UTF-8

The name of a supported charset

Default yyyy-MM-dd

Format to use for date

Default yyyy-MM-dd'T'HH:mm:ss.SSS[XXX]

Format to use for zoned datetime

Default ,

The field separator character

Default true

Specifies if the first line should be the header

Default

The character used to separate rows

Default "

The text delimiter character

Default HH:mm:ss[XXX]

Format to use for time

Default Etc/UTC

Timezone to use when no timezone can be parsed on the source.

Format uri

URI of a temporary result file