Gibt es eine Möglichkeit, eine JSON-Datei aus einer API-Anfrage mithilfe einer UDF in einer Tabelle in Snowflake zu speiPython

Python-Programme
Guest
 Gibt es eine Möglichkeit, eine JSON-Datei aus einer API-Anfrage mithilfe einer UDF in einer Tabelle in Snowflake zu spei

Post by Guest »

Ich versuche, eine JSON-Datei, die ich von einer API-Anfrage erhalte, als Snowflake-Tabelle zu speichern
Ich habe eine UDF erstellt und kann die Antwortdaten abrufen Über die API habe ich versucht, diese Daten mit session.write_pandas zu speichern, erhalte jedoch die Fehlermeldung pyarrow.lib.ArrowInvalid: ('Listen- und Nichtlistenwerte können nicht gemischt werden, Nicht-Null-Werte', 'Konvertierung für Spalte fimFranchisee fehlgeschlagen mit type object')
Hier ist mein Beispielcode:

Code: Select all

CREATE OR REPLACE PROCEDURE fetch_api_data()
RETURNS STRING
LANGUAGE PYTHON
RUNTIME_VERSION = 3.8
PACKAGES = ('requests', 'pandas', 'snowflake-snowpark-python')
HANDLER = 'getData'
EXTERNAL_ACCESS_INTEGRATIONS = (access_integration)
SECRETS = ('api_key' = api_key)
AS
$$
import requests as rq
import pandas as pd
import snowflake.snowpark as snowpark
def getData (session: snowpark.Session):
apiurl = 'https://exmaple.com'
header = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Bearer bearer_token'
}
response = rq.post(apiurl, headers = header)
data = response.json()
df = pd.DataFrame(data)
session.write_pandas(df, table_name= 'RAW_SEGMENT', database='DEV_1_RAW', schema='SCHEMA!', auto_create_table=True, overwrite=True)
return data
$$;

CALL fetch_api_data();
Wie bereits erwähnt, kann ich die Daten mithilfe von Rückgabedaten sehen, aber ich habe keine Möglichkeit gefunden, diese Daten in einer Tabelle zu speichern. Ich erhalte die oben genannte Fehlermeldung, wenn ich versuche, sie mit session.write_pandas zu speichern.
Gibt es eine Möglichkeit, diese unstrukturierten Daten in einer Tabelle zu speichern? Mir reicht es, wenn die Daten alle als Objektdatentyp gespeichert werden.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post