Darmowy szablon automatyzacji

Konwertuj pliki Parquet, Feather, ORC i Avro za pomocą ParquetReader

52
2 mies. temu
4
bloków


Konwertuj pliki Parquet, Feather, ORC i Avro za pomocą ParquetReader

Ten szablon automatyzacji umożliwia przesyłanie i analizowanie plików w formatach Parquet, Feather, ORC lub Avro poprzez API ParquetReader. Natychmiast zwraca ustrukturyzowany podgląd danych w formacie JSON, w tym wiersze, schemat i metadane, bez konieczności pisania własnego kodu.

Idealne zastosowania

  • Walidacja schematu i struktury przed synchronizacją lub transformacją
  • Podgląd surowych plików kolumnowych w locie
  • Automatyzacja procesów QA, ETL lub CI/CD
  • Konwersja plików Parquet, Avro, Feather lub ORC do formatu JSON

Przykłady zastosowań

Ta automatyzacja może być wykorzystana w wielu scenariuszach związanych z przetwarzaniem danych. Oto kilka potencjalnych zastosowań:

  • Wykrywanie niezgodności schematów przed uruchomieniem potoku danych
  • Automatyzacja audytu kolumn w przychodzących plikach danych
  • Wzbogacanie katalogów metadanych o wykrywanie schematów w czasie rzeczywistym
  • Integracja walidacji plików z zautomatyzowanymi przepływami pracy
  • Konwersja danych między formatami kolumnowymi a JSON
  • Generowanie dokumentacji struktury danych na podstawie metadanych
  • Testowanie jakości danych w procesach ETL

Jak używać tego przepływu pracy

Wyzwalanie poprzez przesyłanie pliku

Możesz wyzwolić ten przepływ, wysyłając żądanie POST z plikiem za pomocą curl, Postmana lub z innego przepływu n8n.

Przykład (via curl):

curl -X POST http://localhost:5678/webhook-test/convert -F "file=@converted.parquet"

Zastąp converted.parquet ścieżką do swojego lokalnego pliku. Możesz również wysyłać pliki Avro, ORC lub Feather.

Ponowne wykorzystanie z innych przepływów

Możesz ponownie wykorzystać ten przepływ, wywołując webhook z innego przepływu pracy n8n przy użyciu węzła HTTP Request. Pamiętaj, aby wysłać plik jako form-data z nazwą pola "file".

Co robi ten przepływ:

  • Odbiera przesłany plik przez webhook (file)
  • Wysyła go do https://api.parquetreader.com/parquet jako multipart/form-data (nazwa pola: file)
  • Odbiera sparsowane dane (wiersze), schemat i metadane w formacie JSON

Przykładowa odpowiedź JSON

{
  "data": [
    {
      "full_name": "Pamela Cabrera",
      "email": "bobbyharrison@example.net",
      "age": "24",
      "active": "True",
      "latitude": "-36.1577385",
      "longitude": "63.014954",
      "company": "Carter, Shaw and Parks",
      "country": "Honduras"
    }
  ],
  "meta_data": {
    "created_by": "pyarrow",
    "num_columns": 21,
    "num_rows": 10,
    "serialized_size": 7598,
    "format_version": "0.12"
  },
  "schema": [
    { "column_name": "full_name", "column_type": "string" },
    { "column_name": "email", "column_type": "string" },
    { "column_name": "age", "column_type": "int64" },
    { "column_name": "active", "column_type": "bool" },
    { "column_name": "latitude", "column_type": "double" },
    { "column_name": "longitude", "column_type": "double" },
    { "column_name": "company", "column_type": "string" },
    { "column_name": "country", "column_type": "string" }
  ]
}

Informacje o API

  • Uwierzytelnianie: Nie wymagane
  • Obsługiwane formaty: .parquet, .avro, .orc, .feather
  • Bezpłatne użycie: Nie wymaga rejestracji; API jest obecnie publicznie dostępne
  • Ograniczenia: W przyszłości mogą obowiązywać limity użycia i rozmiaru plików (do ustalenia)


   Skopiuj kod szablonu   
{"id":"VU0kmvnWzctSFm2M","meta":{"instanceId":"534a4ec070e550167af0cc407c76e029ac0ae69bef901c2f9ef440d79bfa5792"},"name":"Convert Parquet, Avro, ORC & Feather via ParquetReader to JSON","tags":[{"id":"1PTaY70kFjD8F12p","name":"Convert","createdAt":"2025-03-30T09:38:16.466Z","updatedAt":"2025-03-30T09:38:16.466Z"},{"id":"98v0QSKrvfH5dl34","name":"Avro","createdAt":"2025-03-30T09:38:06.656Z","updatedAt":"2025-03-30T09:38:06.656Z"},{"id":"Q0sqo52DKATPDab2","name":"ORC","createdAt":"2025-03-30T09:38:09.923Z","updatedAt":"2025-03-30T09:38:09.923Z"},{"id":"b1s8WFj3TfMpoOQu","name":"Feather","createdAt":"2025-03-30T09:38:12.227Z","updatedAt":"2025-03-30T09:38:12.227Z"},{"id":"fFnESRcynarFqlLf","name":"Parquet","createdAt":"2025-03-30T09:38:04.286Z","updatedAt":"2025-03-30T09:38:04.286Z"}],"nodes":[{"id":"651a10dc-1c91-4957-bcdd-3e55d7328f04","name":"Send to Parquet API","type":"n8n-nodes-base.httpRequest","position":[1100,440],"parameters":{"url":"https://api.parquetreader.com/parquet?source=n8n","options":{"bodyContentType":"multipart-form-data"},"requestMethod":"POST","jsonParameters":true,"sendBinaryData":true,"binaryPropertyName":"=file0"},"typeVersion":1},{"id":"42a7e623-ca11-4d38-94bb-cfb48d021a5c","name":"Webhook","type":"n8n-nodes-base.webhook","notes":"Example trigger flow:nncurl -X POST http://localhost:5678/webhook-test/convert \n -F "file=@converted.parquet"","position":[900,440],"webhookId":"0b1223c9-c117-45f9-9931-909f2db28955","parameters":{"path":"convert","options":{"binaryPropertyName":"file"},"httpMethod":"POST","responseData":"allEntries","responseMode":"lastNode"},"notesInFlow":false,"typeVersion":2},{"id":"9b87f027-7ef2-40a7-88d7-a0ae9ef73375","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[0,0],"parameters":{"width":840,"height":580,"content":"### ✅ **How to Use This Flow**nn#### 📥 Trigger via File UploadnnYou can trigger this flow by sending a `POST` request with a file using **curl**, **Postman**, or **from another n8n flow**.nn#### 🔧 Example (via `curl`):n```bashncurl -X POST http://localhost:5678/webhook-test/convert \n-F "file=@converted.parquet"n```n> Replace `converted.parquet` with your local file path. You can also send Avro, ORC or Feather files.nn#### 🔁 Reuse from Other FlowsnYou can **reuse this flow** by calling the webhook from another n8n workflow using an **HTTP Request** node. nMake sure to send the file as **form-data** with the field name `file`.nn#### 🔍 What This Flow Does:n- Receives the uploaded file via webhook (`file`)n- Sends it to `https://api.parquetreader.com/parquet` as `multipart/form-data` (field name: `file`)n- Receives parsed data, schema, and metadatan"},"typeVersion":1},{"id":"06d3e569-8724-48f2-951f-a1af5e0f9362","name":"Parse API Response","type":"n8n-nodes-base.code","position":[1280,440],"parameters":{"jsCode":"const item = items[0];nn// Convert `data` (stringified JSON array) → actual arraynif (typeof item.json.data === 'string') {n item.json.data = JSON.parse(item.json.data);n}nn// Convert `meta_data` (stringified JSON object) → actual objectnif (typeof item.json.meta_data === 'string') {n item.json.meta_data = JSON.parse(item.json.meta_data);n}nnreturn [item];n"},"typeVersion":2}],"active":true,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"c10e1897-094e-42c6-bde9-1724972ada3e","connections":{"Webhook":{"main":[[{"node":"Send to Parquet API","type":"main","index":0}]]},"Send to Parquet API":{"main":[[{"node":"Parse API Response","type":"main","index":0}]]}}}
  • API
  • Request
  • URL
  • Build
  • cURL
  • cpde
  • Javascript
  • JS
  • Python
  • Script
  • Custom Code
  • Function
Planeta AI 2025 
magic-wandmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram