私はbigqueryで標準SQLとjavascript UDFを使用してクエリを作成しています。私はWebUIとbigqueryコマンドラインツールを使用してこれを実装することができますが、私の要件はGoogleのpythonクライアントを使用してこのクエリを行うことです。これを達成することはできません。誰か助けてください。google bigqueryでは、Google Pythonクライアントを使用してjavascript UDFを使用する方法
from google.cloud import bigquery
bigquery_client = bigquery.Client()
client = bigquery.Client()
query_results = client.run_sync_query("""
CREATE TEMPORARY FUNCTION CategoriesToNumerical(a array<STRING>,b array<STRING>)
RETURNS string
LANGUAGE js AS """
var values = {};
var counter = 0;
for(i=0;i<a.length;i++)
{ var temp;
temp = a[i];
a[i] = counter;
values[temp] = counter;
counter ++;
}
for(i=0;i<b.length;i++)
{
for(var key in values)
{
if(b[i] == key)
{
b[i] = values[key];
}
}
}
return b;
""";
SELECT
CategoriesToNumerical(ARRAY(SELECT DISTINCT ProspectStage from lsq.lsq_dest),ARRAY(SELECT ProspectStage from lsq.lsq_dest)) as prospectstageds
;""")
query_results.use_legacy_sql = False
query_results.run()
page_token = None
while True:
rows1, total_rows, page_token = query_results.fetch_data(
max_results=100,
page_token=page_token)
for row1 in rows1:
print "row",row1
if not page_token:
break
これは私のために働いていません。どうすればいいか教えてください。
あなたはこれまでにしようとしているかを示す必要がありますか?[、最小完全、かつ検証例]を表示するためにあなたの質問を編集してください(http://stackoverflow.com/help/mcve)のあなたが問題を抱えているコード、私たちは特定の問題を解決しようとすることができます。あなたは[How to Ask](http://stackoverflow.com/help/how-to-ask)を読むこともできます –
私はどのPythonライブラリを使用しているのでしょうか、どのようなエラーが発生しているのでしょうか?ワーキングコード? –
JavaScriptのUDF部分をGoogleクラウドストレージ内のファイルに入れてそこからコードを使用する必要がありますか?SQLクエリ関数の内部からそのファイルにアクセスする方法はわかりません。 –