Domanda

Sono molto nuovo a BigQuery di Google

Voglio analizzare il timbro del tempo (yyyy/mm/dd:hh:mm:ss) in base al giorno e il mese desiderare di secchio in settimane. Non ho trovato alcuna funzione BigQuery che fa questo.

Quindi, mi stavo chiedendo se c'era un modo in cui posso scrivere un UDF e quindi accedervi in una query bigquery

Altri suggerimenti

Il supporto UDF in BigQuery è ora qui! https://cloud.google.com/bigquery/user-defined-functions

Ecco alcuni codici che convertiranno un specificatore di tempo stringa in un oggetto Data JavaScript ed estrarre alcune proprietà da esso;Vedi https://developer.mozilla.org/en-US / Docs / Web / JavaScript / Riferimento / Global_Objects / Data per informazioni su Proprietà disponibili per le date JS.

Query (Sostituisci la selezione annidata con la tabella):

SELECT day_of_week, month_date
FROM parseDate(select '2015/08/01 12:00:00' as date_string);
.

Codice:

function parsedate(row, emit) {
  var d = new Date(row.date_string);
  emit({day_of_week: d.getDay(),
        month_date: d.getDate()});
}

bigquery.defineFunction(
  'parseDate',                           // Name of the function exported to SQL
  ['date_string'],                    // Names of input columns
  [{'name': 'day_of_week', 'type': 'integer'},
   {'name': 'month_date', 'type': 'integer'}],
  parsedate
);
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top