Hive.GROUPINGSETS有BUG?
随着Hive 0.10版的发布,GROUPING SETS出现了,并提供了ROLL UP和CUBE这两个特殊场景的子句,真是喜闻乐见的特性
随着Hive 0.10版的发布,GROUPING SETS出现了,并提供了ROLL UP和CUBE这两个特殊场景的子句,真是喜闻乐见的特性啊。不过最近在写两个HQL查询脚本的时候,我发现,对表达式进行GROUP BY并用GROUPING SETS自定义这些表达式的分组方式时,GROUPING SETS好像会出现解析异常:
FAILED: ParseException line 66:14 missing ) at ',' near ')' in subquery source line 66:80 mismatched input ',' expecting ) near ')' in subquery source
group by t1.my_month, t1.product, t1.usr_type, if(t3.earliest_logtime_monthly = '20140101', 'new_usr', 'old_usr'), if(t2.CTClass = 105, t1.ipcountry, t1.ipprovince), t1.ChannelID grouping sets ((t1.my_month, t1.usr_type, t1.ChannelID), (t1.my_month, t1.product, t1.usr_type, t1.ChannelID), (t1.my_month, if(t3.earliest_logtime_monthly = '20140101', 'new_usr', 'old_usr'), t1.ChannelID), (t1.my_month, t1.product, if(t3.earliest_logtime_monthly = '20140101', 'new_usr', 'old_usr'), t1.ChannelID), (t1.my_month, if(t2.Dim_CityClass = 105, t1.ipcountry, t1.ipprovince), t1.ChannelID), (t1.my_month, t1.product, if(t2.CTClass = 105, t1.ipcountry, t1.ipprovince), t1.ChannelID))
理论上,表达式和字段应该一样,可以出现在GROUPING SETS子句里并进行任意组合,对一些表达式的实测结果也表明GROUPING SETS里确实是支持表达式的。
这样的情况,使我怀疑GROUPING SETS子句的括号匹配逻辑没做得很完善,导致了括号配对抛出异常。不过,具体的问题,还是需要通过研究一下Hive实现源码来进一步确定这到底是不是一个BUG。
--------------------------------------------------------------------------------------------------------------------
2014-04-28
今天发现,好像是限定性名称的原因呢!就和Java的switch...case的case子句一样,case子句里的枚举值不能用限定性名称(EnumType.EnumValue1),只能用非限定性名称(EnumValue1)!难道grouping sets的Java实现涉及到switch...case子句?有待研究。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah yang dimaksudkan dengan pepijat permainan? Semasa proses bermain permainan, kami sering menghadapi beberapa ralat atau masalah yang tidak dijangka, seperti watak tersekat, tugas tidak dapat diteruskan, skrin berkelip, dsb. Fenomena abnormal ini dipanggil pepijat permainan, iaitu, kesalahan atau kesilapan dalam permainan. Dalam artikel ini, kami akan meneroka maksud pepijat permainan dan kesannya terhadap pemain dan pembangun. Pepijat permainan merujuk kepada ralat yang berlaku semasa pembangunan atau pengendalian permainan, menyebabkan permainan gagal berjalan seperti biasa atau berkelakuan di luar jangkaan. Kesilapan ini mungkin disebabkan oleh

Memandangkan persidangan WWDC Apple 2024 mencapai kesimpulan yang berjaya, bukan sahaja macos15 diumumkan, tetapi kemas kini sistem iOS18 baharu Apple paling menarik perhatian Walaupun terdapat banyak ciri baharu, sebagai versi pertama iOS18 Apple, orang ramai pasti tertanya-tanya sama ada ia adalah perlu untuk menaik taraf Apple iOS18, apakah jenis pepijat yang terdapat dalam keluaran terbaru Apple iOS18? Selepas penilaian penggunaan sebenar, berikut ialah ringkasan pepijat Apple iOS18, mari kita lihat. Pada masa ini, ramai pengguna iPhone tergesa-gesa untuk menaik taraf kepada iOS18 Namun, pelbagai pepijat sistem menyebabkan orang tidak selesa. Sesetengah penulis blog berkata bahawa anda harus berhati-hati semasa menaik taraf kepada iOS18 kerana "terdapat banyak pepijat." Blogger itu berkata bahawa jika iPhone anda adalah

Bagage sistem merujuk kepada pepijat sistem; maksud asal pepijat ialah "pepijat", dan kini ia boleh digunakan untuk merujuk kepada kelemahan yang wujud pada komputer Sebabnya ialah terdapat kelemahan dalam dasar keselamatan sistem dan bahayanya penyerang boleh mengakses tanpa kebenaran dalam erti kata yang luas Di Internet, pepijat boleh digunakan untuk menggambarkan kelemahan atau kecacatan yang berlaku dalam pelbagai bidang.

Sesetengah orang ingin mengemas kini win11, tetapi mereka tidak tahu sama ada terdapat banyak pepijat dalam win11 dan sama ada kemas kini itu akan menyebabkan masalah, sebenarnya, terdapat pepijat dalam win11 sekarang, tetapi ia mempunyai sedikit kesan ke atas penggunaan. Adakah terdapat banyak pepijat dalam win11 Jawapan: Masih terdapat banyak pepijat dalam win11. Walau bagaimanapun, pepijat ini mempunyai sedikit kesan ke atas penggunaan harian. Jika pengguna mempunyai keperluan yang tinggi untuk kegunaan harian, adalah disyorkan untuk menggunakannya kemudian. Ringkasan pepijat win11 1. Pengurus Sumber 1. Kadangkala limpahan memori berlaku, mengakibatkan penggunaan memori yang tinggi bagi Pengurus Sumber. 2. Keadaan ini akan menyebabkan penggunaan memori melebihi 70%, dan komputer akan membeku atau malah ranap. 2. Konflik dan ranap 1. Sesetengah aplikasi tidak cukup serasi, menyebabkan konflik antara satu sama lain. 2. Walaupun terdapat sedikit prosedur konflik,

Dalam beberapa tahun kebelakangan ini, gudang data telah menjadi bahagian penting dalam pengurusan data perusahaan. Menggunakan pangkalan data secara langsung untuk analisis data boleh memenuhi keperluan pertanyaan mudah, tetapi apabila kita perlu melakukan analisis data berskala besar, pangkalan data tunggal tidak lagi dapat memenuhi keperluan Pada masa ini, kita perlu menggunakan gudang data untuk memproses data besar-besaran . Hive ialah salah satu komponen sumber terbuka yang paling popular dalam medan gudang data Ia boleh menyepadukan enjin pengkomputeran yang diedarkan Hadoop dan pertanyaan SQL dan menyokong pemprosesan data besar-besaran. Pada masa yang sama, dalam bahasa Go, gunakan

Apabila pemprosesan data menjadi semakin penting, analisis data besar menjadi semakin biasa. Walau bagaimanapun, banyak syarikat mungkin tidak mahu membelanjakan banyak wang pada platform analitik perniagaan. Penyelesaian sumber terbuka menawarkan syarikat ini pilihan yang berdaya maju. Dalam artikel ini, kami akan membincangkan cara melaksanakan platform analisis data besar Hive sumber terbuka menggunakan PHP. Hive ialah sistem gudang data berasaskan Hadoop yang boleh membuat pertanyaan dan mengurus set data berskala besar pada Hadoop melalui SQL. Ia menggunakan bahasa HiveQL seperti SQL untuk membuat pertanyaan

PHP ialah bahasa pengaturcaraan bahagian pelayan yang digunakan secara meluas yang digunakan dalam hampir semua industri. Dalam artikel ini, kami akan meneroka peranan khas PHP dalam pemprosesan data besar. Dalam keadaan tertentu, PHP boleh bekerjasama dengan ApacheHive untuk mencapai pemprosesan dan analisis data masa nyata. Mula-mula, mari perkenalkan Hive. Hive ialah penyelesaian gudang data berasaskan Hadoop. Ia boleh memetakan data berstruktur ke dalam pertanyaan SQL dan melaksanakan pertanyaan sebagai tugasan MapReduce.

Kitaran hayat BUG ialah proses dari apabila BUG ditemui hingga apabila BUG ditutup. Serahkan pepijat dan cuba huraikan sifat dan pembiakan kecacatan, jenis, tahap, keutamaan dan langkah pembiakan terperinci, keputusan dan jangkaan, dsb pemaju; 4. Menganalisis dan mengesahkannya sebagai kecacatan 5. Mengendalikan dan memperbaiki BUG;
