Учитывая набор данных Google BigQuery с col_1 .... col_m, как вы можете использовать Google BigQuery SQL для возврата набора данных, где нет дубликатов ... [ col1, col3, col7], так что когда в [col1, col3, col7] есть строки с дубликатами, возвращается первая строка из этих дубликатов, а остальные строки, которые имеют повторяющиеся поля в этих столбцах, удаляются?Google BigQuery - имитировать Pandas removeDuplicates() в Google BigQuery SQL
Пример: removeDuplicates ([col1, col3])
col1 col2 col3
---- ---- ----
r1: 20 25 30
r2: 20 70 30
r3: 40 70 30
возвращается
col1 col2 col3
---- ---- ----
r1: 20 25 30
r3: 40 70 30
Чтобы сделать это с помощью питона панд легко. Для кадра данных (т. Е. Матрицы) вы вызываете функцию pandas removedDuplicates([field1, field2, ...])
. Однако removeDuplicates не указывается в контексте Google Big Query SQL.
Моя догадкой с тем, как сделать это в Google Big Query является использование rank()
функции:
https://cloud.google.com/bigquery/query-reference#rank
Я ищу лаконичное решение, если оно существует.
Perfect. Это более элегантно, чем решение, использующее rank(). – cgnorthcutt