Rumah Kewangan Peribadi Tetingkap dalam HiveQL - dummies

Tetingkap dalam HiveQL - dummies

Video: Proses pengambilan sarang lebah kelulut bersebelahan koloni sarang penyegat.. 2024

Video: Proses pengambilan sarang lebah kelulut bersebelahan koloni sarang penyegat.. 2024
Anonim

Konsep tetingkap, diperkenalkan dalam SQL: 2003 standard, membolehkan pemrogram SQL untuk membuat bingkai dari data yang mana agregat dan fungsi tetingkap lain boleh beroperasi. HiveQL kini menyokong windowing mengikut standard SQL. Contohnya sangat berguna apabila menerangkan fungsi windowing dan agregat.

Kelewatan perjalanan datang dengan wilayah ketika terbang adalah perjalanan perjalanan pilihan anda. Maka tidak hairanlah, bahawa data penerbangan RITA yang dikumpulkan termasuk maklumat ini. & ldquo; Apa sebenarnya kelewatan penerbangan purata setiap hari & rdquo; ? Pertanyaan dalam senarai berikut menghasilkan kelewatan berlepas purata setiap hari pada tahun 2008.

(A) sarang (flightdata)> CREATE VIEW avgdepdelay AS> SELECT DayOfWeek, AVG (DepDelay) FROM FlightInfo2008 GROUP BY DayOfWeek; OK Masa diambil: 0. 121 saat (B) sarang (flightdata)> PILIH * DARI avgdepdelay; … OK 1 10. 269990244459473 2 8. 97689712068735 3 8. 289761053658728 4 9. 772897177836702 5 12. 158036387869656 6 8. 645680904903614 7 11. 568973392595312 Masa diambil: 18. 6 saat, diambil: 7 baris

TGIF, atau & ldquo; Alhamdulillah Hari Jumaat, & rdquo; tidak terpakai kepada semua orang. Tidak hairanlah hari Jumaat - Hari 5 di bawah keputusan di Langkah (B) - mempunyai bilangan penangguhan tertinggi.

Bagaimanapun, mengenai pertanyaan itu dalam Langkah (A): Bahasa Definisi Data Hive (DDL) juga termasuk pernyataan CREATE VIEW, yang boleh menjadi sangat berguna. Dalam Hive, pandangan membolehkan pertanyaan disimpan tetapi data tidak disimpan seperti dengan Cipta Jadual sebagai Pilih (CTAS) pernyataan.

Apabila pandangan dirujuk di HiveQL, Hive menjalankan pertanyaan dan kemudian menggunakan hasilnya, yang boleh menjadi sebahagian daripada pertanyaan yang lebih besar. Ini boleh menjadi sangat berguna untuk memudahkan pertanyaan kompleks dan memecahnya ke dalam komponen logik. Di samping itu, perhatikan klausa GROUP BY, yang mengumpulkan semua hari setiap minggu dan membolehkan fungsi agregat AVG menyediakan jawapan yang disatukan setiap hari.

Maklumat ini berguna, sudah tentu, tetapi bagaimana jika anda mahu melihat beberapa nombor individu setiap hari? Menyatukan data dengan GROUP BY, dan anda mempunyai jawapan yang anda cari, walaupun anda juga kehilangan maklumat. Menyelesaikan masalah kehilangan maklumat ini adalah di mana tingkap menjadi sangat berguna.

Berikut adalah soalan lain mengenai data penerbangan RITA 2008 yang Apache Hive boleh menjawab: & ldquo; Apakah penerbangan pertama antara Lapangan Terbang X dan Y & rdquo; ? Katakan bahawa sebagai tambahan kepada maklumat ini, anda ingin tahu mengenai penerbangan seterusnya, sekiranya anda bukan seorang & ldquo; orang pagi.& rdquo; Nah, ini adalah pekerjaan untuk tetingkap di HiveQL! Penyenaraian berikut memberikan anda pertanyaan yang menjawab soalan-soalan ini.

(A) sarang (flightdata)> PILIH f08. Bulan, f08. DayOfMonth, cr. keterangan, f08. Asal, f08. Dest, f08. FlightNum, f08. DepTime, MIN (f08. DepTime) OVER (PEMASANGAN OLEH f08. DayOfMonth ORDER BY f08. DepTime) FROM flightinfo2008 f08 JOIN Carriers cr ON f08. UniqueCarrier = cr. kod WHERE f08. Asal = 'JFK' DAN f08. Dest = 'ORD' DAN f08. Bulan = 1 DAN f08. DepTime! = 0; … OK 1 1 JetBlue Airways JFK ORD 903 641 641 1 1 American Airlines Inc. JFK ORD 1323 833 641 1 1 JetBlue Airways JFK ORD 907 929 641 1 1 Comair Inc. JFK ORD 5083 945 641 1 1 Comair Inc. JFK ORD 5634 1215 641 1 1 JetBlue Airways JFK ORD 915 1352 641 1 1 American Airlines Inc. JFK ORD 1323 833 641 1 1 JetBlue Airways JFK ORD 907 929 641 1 1 Comair Inc. JFK ORD 5083 945 641 1 1 Comair Inc. JFK ORD 5634 1215 641 1 1 JetBlue Airways JFK ORD 915 1352 641 1 1 American Airlines Inc. JFK ORD 1815 1610 641 1 1 JetBlue Airways JFK ORD 917 1735 641 1 1 Comair Inc. JFK ORD 5469 1749 641 1 1 Comair Inc. JFK ORD 5492 2000 641 1 1 JetBlue Airways JFK ORD 919 2102 641 1 31 JetBlue Airways JFK ORD 919 48 48 1 31 JetBlue Airways JFK ORD 903 635 48 1 31 Comair Inc. JFK ORD 5447 650 48 1 31 American Airlines Inc. JFK ORD 1323 840 48 1 31 JetBlue Airways JFK ORD 907 921 48 1 31 JetBlue Airways JFK ORD 917 1859 48

Dalam Langkah (A), klausa GROUP BY digantikan dengan klausa OVER di mana anda menentukan PARTITION atau tetingkap di mana anda mahu fungsi agregat MIN beroperasi. Juga termasuk adalah fasal ORDER BY supaya anda dapat melihat penerbangan berikutnya selepas yang pertama.

Seperti yang anda dapat lihat dari penyenaraian, pada 31 Januari, JetBlue mempunyai penerbangan awal yang bagus pada 12: 48 a. m. -opt untuk yang lain, pada 6: 35 a. m. Isu awal-risikan diketepikan, perhatikan bahawa anda telah mengekalkan maklumat dalam output pertanyaan yang akan hilang jika anda memilih untuk menggunakan klausa GROUP BY lagi.

Keupayaan ini semata-mata membuat tingkap ciri yang kuat, dan ada lagi. Bersama pelan dalam pelepasan Hive 0. 11, komuniti menyediakan beberapa fungsi analisis yang boleh anda gunakan bersempena dengan windowing. Juga pada pelupusan anda adalah fungsi ini: RANK, ROW_NUMBER, DENSE_RANK, CUME_DIST, PERCENT_RANK, dan NTILE.

Akhirnya, jangan ketinggalan menggunakan JOIN: Ini merupakan contoh kehidupan nyata yang praktikal di dalam batin yang mana anda menyertai jadual PenerbanganInfo2008 dengan jadual Carriers untuk mendapatkan nama syarikat penerbangan - sebaliknya daripada kod cryptic yang terdapat dalam jadual FlightInfo2008.

Tetingkap dalam HiveQL - dummies

Pilihan Editor

Cara RSVP ke Acara di Ning - patung

Cara RSVP ke Acara di Ning - patung

Di Ning, setelah anda menemukan persidangan itu mencari atau parti yang ingin anda hadiri, anda perlu RSVP untuk acara tersebut supaya pihak penganjur boleh mendapatkan jumlah minuman, makanan dan barang yang sesuai untuk semua peserta - dan juga rakan-rakan rangkaian anda yang tahu anda akan pergi . Untuk RSVP ...

Cara Menghantar Mesej Peribadi di Ning - dummies

Cara Menghantar Mesej Peribadi di Ning - dummies

Mesej hanya dengan dua kumpulan orang: rakan anda dan Pentadbir (termasuk Pencipta Rangkaian). Mesej peribadi Ning memberi anda cara yang ideal sebagai ahli untuk berkomunikasi dengan ahli-ahli lain dalam rangkaian tanpa semua orang mengetahui tentangnya:

Pilihan Editor

Dimensi web untuk Infographics anda - dummies

Dimensi web untuk Infographics anda - dummies

Cabaran untuk menilai infographic untuk web adalah saiz reka bentuk kini sangat berubah , tiada standard untuk bercakap. "Reka bentuk responsif" yang dibawa dengan kemunculan HTML5 mengubah landskap reka bentuk web secara kekal. Tidak seperti grafik yang dicetak, di mana setiap orang yang melihatnya mengalaminya dalam saiz yang sama, ...

Pilihan Editor

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Komuniti mempunyai tindak balas yang positif, negatif, atau neutral kepada anda dan jenama anda boleh membantu anda menentukan bagaimana untuk terus mengendalikan pendekatan penglibatan media sosial anda. Bagaimana anda mengukur pesaing dalam minda penonton dalam talian anda adalah satu lagi faktor penting untuk dinilai. Anda juga boleh memanfaatkan ...

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Tidak ada yang salah dengan menjangkau para blogger, penulis, dan ahli komuniti dalam talian lain dan bertanya kepada mereka jika mereka berminat untuk menyemak jenama atau komuniti anda. Perbezaan antara penginjilan jenama dan melakukan kajian semula adalah bahawa penginjil jenama tidak mengkaji: Mereka mempromosikan, dan mereka diberi pampasan sebagai pertukaran untuk promosi mereka. Penilai, di ...

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Untuk cara percikan untuk dilihat blog atau laman web, pertimbangkan menaja laman web ini. Penajaan untuk blog popular telah mendapat banyak perhatian dalam blogosphere. Sesetengah blogger menyeru menerima tajaan "menjual keluar," tetapi yang lain menganggapnya sebagai cara terbaik untuk mendapatkan bayaran untuk melakukan apa yang mereka suka. Penajaan cenderung kepada ...