Como exportar BigQuery partições para o GC usando o Fluxo de ar

Eu preciso criar um Fluxo de trabalho que exporta as partições em que o BigQuery tabela para GCS entre o determinado intervalo de _PARTITIONDATE. Eu preciso de partições para ser em arquivo separado, com a data de partições. Como posso conseguir isso?

Eu tentei usar o fluxo de ar de tarefas que usa o SQL para buscar os _PARTITIONDATE, mas posso fazê-lo através de programação?

+1
2019-09-17 16:23:18
origem
1 respostas

Você precisa de uma ordenação de colunas para o número de linhas. É difícil sem os dados da amostra, mas se a tabela estiver ordenada por um date coluna, a próxima abordagem pode ajudar a obter os seus resultados esperados:

Dados:

CREATE TABLE #Data (
    Event_Date date,
    Person_ID varchar(1), 
    Event_flag varchar(1)
)
INSERT INTO #Data
   (Event_date, Person_ID, Event_flag)
VALUES
    ('20190910', 'A', 'X'),
    ('20190911', 'A', 'X'),
    ('20190912', 'A', 'Y'),
    ('20190913', 'A', 'X'),
    ('20190914', 'A', 'X'),
    ('20190915', 'A', 'X'),
    ('20190916', 'A', 'Y')

Instrução:

;WITH ChangesCTE AS (
    SELECT
        Event_Date,
        Person_ID,
        Event_flag,
        CASE 
            WHEN Event_flag = LAG(Event_flag) OVER (ORDER BY Event_Date) THEN 0
            ELSE 1
        END AS Change_ID
    FROM #Data
), GroupsCTE AS (
    SELECT
        Event_Date,
        Person_ID,
        Event_flag,
        SUM([Change_ID]) OVER (ORDER BY Event_Date) AS Group_ID
    FROM ChangesCTE
)
SELECT 
    Person_ID,
    Event_flag,
    ROW_NUMBER() OVER (PARTITION BY Group_ID ORDER BY Event_Date) AS Rn
FROM GroupsCTE

Saída:

--------------------------
Person_ID   Event_flag  Rn
--------------------------
A           X           1
A           X           2
A           Y           1
A           X           1
A           X           2
A           X           3
A           Y           1
+1
2019-09-17 21:07:53

Veja mais perguntas por marcas