Wir haben einen funktionierenden Prototyp in Google Cloud DataLab, wo wir die %%bq
"Magics" ausgiebig genutzt haben, um eine parametrisierte Abfrage mit verschiedenen UDFs aufzubauen.BigQuery in Google Cloud Datalab - Abfragetext abrufen?
So etwas wie:
customFn1 = bq.UDF("customFn1",theJsCode1,theDataTypeDef1,params=paramDefs1)
customFn2 = bq.UDF("customFn2",theJsCode2,theDataTypeDef2,params=paramDefs2)
dann:
%%bq query --name finalQry --udfs customFn1 customFn2
SELECT
customFn1(bell, whistle) AS Output1,
customFn2(rank,serialNo) AS Output2
FROM
myImaginaryTable
WHERE
id < @param1 AND id > @param2
dann:
%%bq sample -q finalQry
parameters:
- name: param1
type: STRING
value: "ab1"
- name: param2
type: STRING
value: "ab3"
Wir möchten den Beginn der Arbeit in Richtung dieses Prototyps Bereitstellung und müssen die endgültige zugreifen Abfragetext zur Verwendung in unserem Produktionscode (der zu gegebener Zeit über die API aufgerufen wird).
Ich weiß, dass GC Datalab hinter den Kulissen etwas Arbeit leistet, um diese Abfrage zu erstellen (unser Beispiel aus der realen Welt ist viel komplexer), das ich in unserem Code replizieren muss.
es wäre wirklich nützlich, wenn ich den tatsächlichen Abfrage-String GC datelab erhalten könnte, nachdem er die UDFs erstellt, die Parameter usw. ersetzt hat? Ich könnte es manuell mit einem Shedload von Kopieren und Einfügen, etc. tun, aber es wäre super-nützlich, wenn ich automatisch auf diese letzte Abfrage Zeichenfolge irgendwo zugreifen könnte?
Ich habe gelesen in der Dokumentation hier: http://googledatalab.github.io/pydatalab/datalab.bigquery.html aber kann nicht finden, was ich brauche. Kann jemand helfen?
das ist was ich fehlte (nicht sicher, wie ich es in den docs vermisste - mein schlechtes). Nicht unbedingt wichtig, um die Abfrage nach der Parametersubstitution zu erhalten. Nach Zusammenstellung von UDFs etc. bekomme ich dort 99%. Vielen Dank –