Konektory
Součástí aplikace Mixulo je cloudové úložiště Superfiles. Do něj můžete ukládat soubory, typicky ve formátu CSV a XLSX.
Do Superfiles můžete vložit data buď přímo z vašeho počítače nebo z externích služeb: Google Sheets, databáze Postgres a dalších.
Data z externích služeb jsou do Superfiles uložena ve formátu CSV.
V Mixulu používáme k tomuto účelu tyto konektory:
- tap-spreadsheets-anywhere pro čtení dat z CSV a XLSX souborů,
- tap-google-sheets pro čtení dat z Google Sheets,
- tap-mssql pro čtení dat z MS SQL databáze,
- tap-postgres pro čtení dat z Postgres databáze,
- target-csv pro uložení dat do CSV souboru,
- target-postgres pro uložení dat do Postgres databáze,
- target-snowflake pro uložení dat do Snowflake databáze.
Konektor target-csv můžete použít pro uložení dat do Superfiles a konektor tap-spreadsheets-anywhere pro čtení dat z Superfiles.
Například kombinací konektorů tap-mssql a target-csv převedete data z MS SQL databáze do CSV souboru v Superfiles.
Následují příklady konfigurací pro různé kombinace konektorů.
Google Sheets → CSV v Superfiles
{
"tap": {
"config": {
"_select": "'[\"teplota_praha.*\", \"teplota_bechyne.*\", \"!*.__sdc_*\"]'",
"client_id": "1081978581541-oo640sp1ihvbm9fupgook1hbir1gkc6s.apps.googleusercontent.com",
"start_date": "2019-01-01T00:00:00Z",
"client_secret": "!mixulo-secret:gsheet_client_secret",
"refresh_token": "!mixulo-secret:gsheet_refresh_token",
"spreadsheet_id": "1_oA8-YJbOfiQmwlXoj6UO03RchBFZ4t_AHlEB8w0qjA"
},
"module": "tap-google-sheets"
},
"target": {
"config": {
"delimiter": ","
},
"module": "target-csv"
}
}
Příklad konfigurace pro převod dat z Google Sheets do CSV souboru. Z listů "teplota_praha" a "teplota_bechyne" v této Google tabulce vzniknou v Superfiles dva CSV soubory: teplota_praha.csv a teplota_bechyne.csv.
Postgres → CSV v Superfiles
{
"tap": {
"config": {
"host": "123.123.123.123",
"port": 5432,
"user": "ca",
"dbname": "ca",
"_select": "'[\"public-users_user.*\"]'",
"password": "!mixulo-secret:pg_user_pass"
},
"module": "tap-postgres"
},
"target": {
"config": {
"delimiter": ","
},
"module": "target-csv"
}
}
CSV v Superfiles → Postgres
{
"tap": {
"config": {
"tables": "[{\"format\": \"csv\", \"path\": \"file://../../input/files\", \"name\": \"prumerna_teplota\", \"pattern\": \"^teplota.*\", \"start_date\": \"2000-01-01T00:00:00Z\", \"key_properties\": [], \"delimiter\": \"detect\"}]",
"_schema": [
"prumerna_teplota date type '[\"null\", \"string\"]'",
"prumerna_teplota date format date-time",
"prumerna_teplota mean type '[\"null\", \"number\"]'"
]
},
"module": "tap-spreadsheets-anywhere"
},
"target": {
"config": {
"postgres_host": "123.123.123.123",
"postgres_port": "5432",
"postgres_database": "debug",
"postgres_username": "debug",
"postgres_password": "!mixulo-secret:postgres_debug_pass",
"postgres_schema": "public",
"before_run_sql": "DROP TABLE IF EXISTS public.prumerna_teplota;"
},
"module": "target-postgres"
}
}
Příklad konfigurace pro převod dat z CSV souboru v Superfiles do Postgres databáze.