DataForm не может прерывировать внешнюю таблицуJavascript

Форум по Javascript
Ответить
Anonymous
 DataForm не может прерывировать внешнюю таблицу

Сообщение Anonymous »

my sqlx file < /p>

Код: Выделить всё

config {
type: "operations",
tags: ["soma_deal_meta_audience_reporting_pipeline"]
}

${operations.createSessionizerTable("sessionizer_hourly_audience_deal_reporting_metaaudiences")}
< /code>
и мой код JavaScript для создания таблицы: < /p>
createSessionizerTable: (name, datetime) => {
if (!name) {
throw new Error("createSessionizerTable requires a table name.");
}

const report_datetime_logic = datetime
? `TIMESTAMP("${datetime}")`
: `TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)`;

const prefix = getEnvPrefix();
const schema = `${prefix}${dataform.projectConfig.vars.external_source_schema}`;

return `
BEGIN
DECLARE report_datetime TIMESTAMP DEFAULT ${report_datetime_logic};
DECLARE year STRING DEFAULT FORMAT_TIMESTAMP('%Y', report_datetime);
DECLARE month STRING DEFAULT FORMAT_TIMESTAMP('%m', report_datetime);
DECLARE day STRING DEFAULT FORMAT_TIMESTAMP('%d', report_datetime);
DECLARE hour STRING DEFAULT FORMAT_TIMESTAMP('%H', report_datetime);

EXECUTE IMMEDIATE (FORMAT("""
DROP TABLE IF EXISTS \`${dataform.projectConfig.vars.projectName}.${schema}.${name}\`
"""));

EXECUTE IMMEDIATE (FORMAT("""
CREATE OR REPLACE EXTERNAL TABLE \`${dataform.projectConfig.vars.projectName}.${schema}.${name}\`
OPTIONS (
format = 'PARQUET',
uris = ['${dataform.projectConfig.vars.sessionizer_gcs_bucket}/category=logs/year=%s/month=%s/day=%s/hour=%s/*.parquet']
);
""", year, month, day, hour));
END;
`;
},

< /code>
Как вы можете видеть в коде JS, я также бросил внешнюю таблицу, прежде чем создать ее, но даже при этом я получаю < /p>
Already Exists: Table vas-us-east4:external_source.sessionizer_hourly_audience_deal_reporting_metaaudiences at [2:11]
Иногда он просто работает нормально , но продолжает проваливаться много времени. Я подтвердил, что это даже не удается, когда нет внешней таблицы - путем вручную запустив код. < /P>
Не уверен, что здесь может пойти не так. Цените любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/797 ... rmittently
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»