IonToCsv IonToCsv
IonToCsv Certified

Convert an ION file into CSV.

yaml
type: io.kestra.plugin.serdes.csv.IonToCsv
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 }}"

yaml
id: export_csv_non_numeric
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.jdbc.snowflake.Query
    fetchType: STORE
    sql: |
      SELECT
        Referencia,
        Descripcion,
        Cantidad,
        Precio
      FROM my_table
    url: "jdbc:snowflake://{{ namespace.snowflake.account }}.snowflakecomputing.com"
    username: "{{ namespace.snowflake.user }}"
    password: "{{ secret('SNOWFLAKE_PASSWORD') }}"

  - id: to_csv
    type: io.kestra.plugin.serdes.csv.IonToCsv
    from: "{{ outputs.query.uri }}"
    header: false
    quoteMode: NON_NUMERIC
Properties
Defaultfalse
DefaultUTF-8
Defaultyyyy-MM-dd
Defaultyyyy-MM-dd'T'HH:mm:ss.SSS[XXX]
Default,
Defaulttrue
Default
Possible Values
ALWAYSREQUIREDNON_NUMERIC
Default"
DefaultHH:mm:ss[XXX]
DefaultEtc/UTC
Formaturi