Rumah pangkalan data tutorial mysql Hive中Group By的去重

Hive中Group By的去重

Jun 07, 2016 pm 04:37 PM
hive Alih keluar pendua kami

在Hive的是用中,我们经常会有这种需求: 按照同一个id进行Group By,然后对另一个字段去重,例如下面得数据: id pic1.jpg2.jpg1.jpg 此时,是用DISTINCT或者2 col得Group By都是不行得,我们可以用这个UDAF:collect_set(col),它将对同一个group by 得ke

在Hive的是用中,我们经常会有这种需求:

按照同一个id进行Group By,然后对另一个字段去重,例如下面得数据:

id pic
1.jpg
2.jpg
1.jpg
Salin selepas log masuk

此时,是用DISTINCT或者2 col得Group By都是不行得,我们可以用这个UDAF:collect_set(col),它将对同一个group by 得key进行set去重后,转换为一个array。

再举一个例子,我们可以对pic进行去重,拼接:
SELECT id, CONCAT_WS(',', COLLECT_SET(pic)) FROM tbl GROUP BY id
在这里CONCAT_WS是UDF,COLLECT_SET是UDAF,它将group后的pic去重,并转换为了array,方便udf是用。

PS:如果不需要去重,可以使用COLLECT_LIST。

更多UDAF,见这里 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mendedahkan kaedah penduaan data yang cekap dalam Pandas: Petua untuk mengalih keluar data pendua dengan cepat Mendedahkan kaedah penduaan data yang cekap dalam Pandas: Petua untuk mengalih keluar data pendua dengan cepat Jan 24, 2024 am 08:12 AM

Mendedahkan kaedah penduaan data yang cekap dalam Pandas: Petua untuk mengalih keluar data pendua dengan cepat

Bagaimana untuk membuang pendua dalam perkataan Bagaimana untuk membuang pendua dalam perkataan Mar 20, 2024 pm 02:13 PM

Bagaimana untuk membuang pendua dalam perkataan

Bagaimana untuk mengoptimumkan prestasi pengisihan dan penyahduplikasian koleksi dalam pembangunan Java Bagaimana untuk mengoptimumkan prestasi pengisihan dan penyahduplikasian koleksi dalam pembangunan Java Jul 02, 2023 am 11:25 AM

Bagaimana untuk mengoptimumkan prestasi pengisihan dan penyahduplikasian koleksi dalam pembangunan Java

Apakah kaedah untuk membuang pendua dalam panda? Apakah kaedah untuk membuang pendua dalam panda? Nov 22, 2023 am 11:55 AM

Apakah kaedah untuk membuang pendua dalam panda?

Bagaimana untuk melaksanakan operasi penyahduplikasian selepas tatasusunan PHP dikocok? Bagaimana untuk melaksanakan operasi penyahduplikasian selepas tatasusunan PHP dikocok? May 02, 2024 pm 01:33 PM

Bagaimana untuk melaksanakan operasi penyahduplikasian selepas tatasusunan PHP dikocok?

Gunakan bahasa Hive in Go untuk melaksanakan gudang data yang cekap Gunakan bahasa Hive in Go untuk melaksanakan gudang data yang cekap Jun 15, 2023 pm 08:52 PM

Gunakan bahasa Hive in Go untuk melaksanakan gudang data yang cekap

Bagaimana untuk mencapai penyahduplikasian data dalam tatasusunan PHP? Bagaimana untuk mencapai penyahduplikasian data dalam tatasusunan PHP? Apr 26, 2024 pm 06:51 PM

Bagaimana untuk mencapai penyahduplikasian data dalam tatasusunan PHP?

PHP melaksanakan platform analisis data besar Hive sumber terbuka PHP melaksanakan platform analisis data besar Hive sumber terbuka Jun 18, 2023 pm 02:47 PM

PHP melaksanakan platform analisis data besar Hive sumber terbuka

See all articles