Integrere Oracle Analytics med Oracle Cloud Infrastructure-funktioner

Integrer Oracle Analytics med OCI-funktioner (Oracle Cloud Infrastructure) , så du kan bruge dem i dataflows til transformering af data.

Om brug af OCI-funktioner i Oracle Analytics

Du kan transformere Oracle Analytics ved hjælp af funktioner, som oprettes i OCI. Du kan for eksempel bruge en sprogkonverteringsfunktion til konvertering af engelsk tekst til spansk eller tysk.

Du skal først registrere OCI-funktioner i Oracle Analytics, og derefter kan alle Oracle Analytics-brugere med privilegier som BI-tjenesteadministrator eller DV-indholdsforfatter bruge dem i dataflows.

Om konfiguration af OCI-funktioner til brug i Oracle Analytics

Opret funktioner i OCI-konsollen, så du kan bruge dem til transformation af data i Oracle Analytics-dataflows.

Om registrering af OCI-funktioner i Oracle Analytics

Når du registrerer en OCI-funktion i Oracle Analytics, og den er nedtonet i dialogboksen Vælg en funktion, skal du kontrollere, at den er konfigureret med tagget oac-compatible, og at den kaldes med den korrekte værdi for funcMode.
Beskrivelse af GUID-6FE05B2C-5352-4953-998F-D967B6BA1891-default.png følger
.png

Om konfiguration af OCI-funktioner til brug i Oracle Analytics

OCI-funktioner, som du vil bruge i Oracle Analytics, skal have et oac-compatible-tag, og funktionskoden skal indeholde variablen funcMode. Konfigurer disse indstillinger i OCI-konsollen:

  • oac-compatible - Føj et tag i frit format med navnet oac-compatible til funktionen, og angiv værdien til true. Beskrivelse af GUID-6DDD2A98-7F8D-45D7-9110-9643C2128A84-default.png følger
    .png
  • funcMode - Inkluder variablen funcMode i funktionskoden. Oracle Analytics sender en anmodning om at registrere en OCI-funktion med funcMode=describeFunction og en anmodning om at kalde en OCI-funktion med funcMode=executeFunction. Handler-funktionen i func.py skal køre i describeFunction-tilstand eller executeFunction-tilstand. Dette kan gøres baseret på værdien af inputvariablen funcMode fra anmodningen, som vist nedenfor.

    Beskrivelse af GUID-0C335709-DEDC-4655-8A29-F544608DA8B3-default.png følger
    .png

    Her er formatet for anmodning og respons for OCI-funktioner til Word Count-eksemplet i python.

    funcMode = describeFunction

    { "funcMode": "describeFunction"}

    Når funcMode i anmodningen er 'describeFunction', skal funktionen returnere funktionsdefinitionen med status (returnCode og errorMessage), outputs (navn, datatype for outputkolonne), parametre (navn, beskrivelse, type og så videre for inputparameteren), bucketName osv. som et JSON-objekt med følgende format (eksempel på ordtælling):

    funcDefinition = {
        "status": {
            "returnCode": 0,
            "errorMessage": ""
        },
        "funcDescription": {
            "outputs": [
                {"name": "word_count", "dataType": "integer"}
            ],
            "parameters": [
                {"name": "textColumn", "displayName": "Text Column",
                 "description": "Choose column to count words", "required": True,
                 "value": {"type": "column"}}
            ],
            "bucketName": "bucket-OCI-FAAS",
            "isOutputJoinableWithInput": True
        }
    }

    Tilføj følgende kode i func.py for at returnere funcDefinition, når funcMode i anmodningen er 'describeFunction'.

    def handler(ctx, data: io.BytesIO = None):
        response_data = ""
        try:
            body = json.loads(data.getvalue())
            funcMode = body.get("funcMode")
            if funcMode == 'describeFunction':
               response_data = json.dumps(funcDefinition)
        except (Exception, ValueError) as ex:
            response_data = json.dumps(
                {"error": "{0}".format(str(ex))})
        return response.Response(
            ctx, response_data,
            headers={"Content-Type": "application/json"}
        )

    funcMode = executeFunction - Når funcMode er 'executeFunction', skal den faktiske funktionslogik udføres, og responsen skal sendes tilbage til Oracle Analytics sammen med outputtet. Når den registrerede funktion kaldes via dataflow i Oracle Analytics, har anmodningsobjektet følgende format med kolonnenavnet i argumenterne, input(bucketName, fileName, fileExtension, fileName, method & rowID) og output(bucketName, fileName & fileExtension).

    {
        "args":
        {
            "textColumn": "REVIEW"
        },
        "funcMode": "executeFunction",
        "input":
        {
            "bucketName": "bucket-OCI-FAAS",
            "fileExtension": ".csv",
            "fileName": "oac-fn-e99cd4fddb3844be89c7af6ea4bbeb76-input",
            "method": "csv",
            "rowID": "row_id"
        },
        "output":
        {
            "bucketName": "bucket-OCI-FAAS",
            "fileExtension": ".csv",
            "fileName": "oac-fn-e99cd4fddb3844be89c7af6ea4bbeb76-output"
        }
    }

Om oprettelse af funktioner i OCI

Du kan oprette funktioner ved hjælp af OCI-konsollen, kommandolinjen (Fn-projekt-CLI) eller API'en. I OCI-konsollen skal du for eksempel klikke på Udviklertjenester og derefter klikke på Funktioner og følge vejledningen på skærmen for at oprette applikationer og en eller flere funktioner. Se dokumentationen til oprettelse af funktioner i OCI for at få flere oplysninger. Hvis det er første gang, du opretter funktioner, skal du udføre trinnene i start til slut-eksemplet Oprettelse, ibrugtagning og kald af en Helloworld-funktion. Alle funktioner, som du vil bruge i Oracle Analytics, skal indeholde tagget i frit format oac-compatible=true (se Om konfiguration af OCI-funktioner til brug i Oracle Analytics ovenfor).

Tip til oprettelse af funktioner i OCI-konsollen

  • Aktiver logge - Som standard er logge deaktiverede for funktioner. Du aktiverer logge for funktioner ved at klikke på Logge på siden Applikationer og aktivere den log, som er angivet i Lognavn. Nu kan du vælge Udforsk log under Ressourcer og bore ind i logposter for at foretage fejlfinding af og diagnosticere funktionsmæssige problemer.
  • Inkluder afhængigheder - Inkluder afhængige pakker i filen requirements.txt for funktionen.
  • Følg indrykningsregler - Følg indrykningsreglerne for Python ved kodning af Python-funktioner.
  • Brug fejl for funktionsrespons - Brug fejldetaljerne, der vises på siden Dataflow, til at diagnosticere problemer.
  • Test funktioner lokalt først - Før du opretter en funktion i OCI, skal du teste funktionen lokalt i dit udviklingsmiljø for at sikre, at funktionen er syntaktisk og logisk korrekt.
  • Test funktioner i OCI - Før du integrerer funktioner i Oracle Analytics, skal du kontrollere, at du kan tage dem i brug og kalde dem som standalone-funktioner i OCI.
  • Forøg timeoutværdien - Som standard har funktioner en timeout på 30 sekunder. Forøg om nødvendigt timeoutindstillingen (ændr den for eksempel til 300 sekunder) på siden Rediger funktion i OCI-konsollen.
  • Forøg hukommelsen - Funktioner har som standard en hukommelsesgrænse på 1024 MB. Forøg om nødvendigt hukommelsesgrænsen på siden Rediger funktion i OCI-konsollen.
  • Optimer plads - Slet ubrugte filer straks efter brug.
  • Vær opmærksom på netværksventetid - Vær opmærksom på, at netværksventetid kan forlænge den samlede tid til behandling en smule.

Politikker, der kræves for at integrere OCI-funktioner med Oracle Analytics

Sørg for, at du har de påkrævede sikkerhedspolitikker, når du integrerer Oracle Analytics med OCI-funktioner.

Den OCI-bruger, som du angiver i forbindelsen mellem Oracle Analytics Cloud og din OCI-leje, skal have læse-, skrive- og slettetilladelser til det rum, der indeholder de Data Science-modeller, som du vil bruge. Sørg for, at OCI-brugeren tilhører en brugergruppe med følgende minimumpolitikker for OCI-sikkerhed. Når du opretter forbindelse til en OCI-leje fra Oracle Analytics, kan du bruge en OCI-API-nøgle eller -ressourceprincipal.

Bemærk:

For at inkludere alle Analytics-instanser under et rum for en ressourceprincipal skal du angive: {request.principal.type='analyticsinstance', request.principal.compartment.id='<compartmentA_ocid>'} i stedet for {request.principal.id='<analytics_instance_ocid>'}.
Politikker for API-nøgle Politikker for ressourceprincipal
Allow group <group_name> to use functions-family in compartment <compartment_name> Allow any-user to use functions-family in compartment <compartment_name> where all {request.principal.id='<analytics_instance_ocid>'}
Allow group <group_name> to read buckets in compartment <compartment_name> Allow any-user to read buckets in compartment <compartment_name> where all {request.principal.id='<analytics_instance_ocid>'}
Allow group <group_name> to manage objects in compartment <compartment_name> where target.bucket.name='<staging_bucket_name>' Allow any-user to manage objects in compartment <compartment_name> where all {request.principal.id='<analytics_instance_ocid>', target.bucket.name='<staging_bucket_name>'}
Allow group <group_name> to read objectstorage-namespaces in tenancy Allow any-user to read objectstorage-namespaces in tenancy where all {request.principal.id='<analytics_instance_ocid>'}
Politik for dynamisk gruppe Beskrivelse
Allow dynamic-group <dynamic_group> to manage objects in compartment <compartment_name> where target.bucket.name='<staging_bucket_name>' Giver adgang til staging-beholder for den dynamiske gruppe.

Eksempel på matchningsregel: <dynamic_group>.{resource.type = 'fnfunc', resource.compartment.id = '<compartment_ocid>'}, hvor <compartment_ocid> er Oracle Cloud-id'en for det rum, der indeholder funktionerne.

Typisk workflow for transformering af data ved hjælp af OCI-funktioner

Følg disse opgaver på højt niveau i den rækkefølge, som vises nedenfor, for at transformere data i Oracle Analytics ved hjælp af OCI-funktioner.

Opgave Beskrivelse Flere oplysninger

Opret funktioner i OCI (kræver privilegier som funktionsudvikler)

Opret dine funktioner i din OCI leje, og kontroller, at de er i overensstemmelse med de krav, som er angivet for brug sammen med Oracle Analytics.

Om konfiguration af OCI-funktioner til brug i Oracle Analytics

Tildel OCI-politikker Sørg for, at du har de påkrævede OCI-politikker for oprettelse af forbindelse med API-nøgle eller ressourceprincipal. Politikker, der kræves for at integrere OCI-funktioner med Oracle Analytics
Forbind Oracle Analytics med din OCI-leje (kræver privilegier som administrator eller DV-forfatter) Opret en forbindelse til din OCI-leje i Oracle Analytics.

Oprette en forbindelse til din Oracle Cloud Infrastructure-leje

Registrer OCI-funktioner i Oracle Analytics (kræver privilegier som administrator eller DV-forfatter) Registrer dine OCI-funktioner i Oracle Analytics, så du kan kalde dem fra dataflows.

Registrere OCI-funktioner i Oracle Analytics

Transformer dine data ved hjælp af OCI-funktionerne (kræver privilegier som administrator eller DV-forfatter) Opret et dataflow, og brug trinnet Anvend tilpasset script for at kalde en OCI-funktion.

Transformere data ved hjælp af OCI-funktioner

Registrere OCI-funktioner i Oracle Analytics

Registrer OCI-funktioner i Oracle Analytics, så du kan bruge dem i dataflows til transformering af data. Du kan for eksempel registrere en sprogkonverteringsfunktion, så dataanalytikere kan konvertere engelsk tekst til spansk eller tysk.

  1. Klik på Sidemenu på startsiden i Oracle Analytics, klik på Registrer model/funktion, og klik derefter på OCI-funktioner.
  2. I dialogboksen Registrer en tilpasset funktion skal du vælge en forbindelse til OCI-lejen, hvor dine funktioner er placeret.
  3. I dialogboksen Vælg applikation skal du vælge applikationen, der indeholder dine OCI-funktioner.
    Hvis du ikke er helt sikker, skal du spørge den person, som har oprettet funktionerne i OCI.
  4. Vælg en funktion i dialogboksen Vælg en funktion, og klik på Registrer.
    Hvis den funktion, som du vil bruge, er nedtonet, skal du bede administratoren om at kontrollere, at den er konfigureret for Oracle Analytics. Se Om konfiguration af OCI-funktioner til brug i Oracle Analytics.
Du kan bruge registrerede OCI-funktioner i dataflows til at transformere data med. Du kan kontrollere, hvilke funktioner der er registrerede, ved at vise registrerede funktioner på fanen Scripts på siden Maskinel indlæring (klik på NavigatorStartside, klik på Maskinel indlæring og klik derefter på Scripts).