原创 我要編程

    華爲編程比賽,我順利落榜,經過短暫的失落感之後,我很快又回來coding世界了!請收了我吧,請允許我一步一步走下去,請理解我初期的蝸牛似的行進腳步,我會創造越來越靠譜的正值加速度的。     河畔水人很多,牛人也不少,但這不是我泡

原创 除模傳奇

    你沒看走眼,我也沒有打錯字,標題就是除模傳奇;作爲一個星迷,用這樣一個標題來包裝日誌,是天經地義的事。但是,標題只是這篇日誌的表面現象,其實日誌的真正身份還是兩個字——編碼:優雅的計算機除法、優雅的計算機取模。     《編程之美

原创 Hive.GROUPING SETS

       如果說聚合函數(Simple UDAF / Generic UDAF)是HQL聚合數據查詢或分析的中樞處理器,那GROUP BY可以說是聚合函數的神經了,GROUP BY收集和傳遞材料,然後交給聚合函數們去處理。這些材料的組

原创 Hive.GROUPING SETS有BUG?

       隨着Hive 0.10版的發佈,GROUPING SETS出現了,並提供了ROLL UP和CUBE這兩個特殊場景的子句,真是喜聞樂見的特性啊。        不過最近在寫兩個HQL查詢腳本的時候,我發現,對表達式進行GROU

原创 Ruby-Module初探

Ruby-Module初探 module是什麼? Ruby裏有一種叫module的東西,他和我們比較熟知的Class有很多類似之處,同樣是組合一堆常量、變量和方法的單元,但是module不能像類一樣被實例化。 Class被定義爲Modu

原创 Hive.分組排序和TOP

       HQL作爲類SQL的查詢分析語言,到目前爲止,應該也還未能達到其它流行的SQL(如Transact-SQL, MySQL)實現那樣完善。而在公司的生產環境中,我想應該也不會緊貼Hive版本更新的步伐,始終部署最新版的Hive

原创 Hive.LEFT SEMI JOIN子句

        公司的數據倉庫和離線數據分析是建立在Hadoop + Hive基礎上的,現在的工作主要是數據分析,自然也就跟HQL查詢經常打交道了。剛來公司幾乎完全不懂數據庫知識,神馬結構化查詢語言也只是聽說而已,不過,這沒關係,實際工作

原创 Hive.GROUP BY子句的“陷阱”

       做SQL或類SQL查詢工作,跟GROUP BY打交道太頻繁了,使用人士應該都曉得:在SELECT子句中出現的字段或屬性,如果不是在聚合函數中,那就必須要放到GROUP BY子句裏面去,反過來,沒有出現在GROUP BY子句

原创 Hive.WHERE子句的“陷阱”

       前天遇到這樣一個場景:        Hive數據倉庫裏有一個用戶訪問日誌表my_table,這個表對日期字段date (String類型)進行了分區。此外,這個表還有一個字段page_id(Int類型),假定page_id

原创 鏈表排序

       對無序的單鏈表,看起來好簡單的樣子,但是竟然沒有看到過、也沒有想到過這個問題,直到今天的一道面試題......矮油,一心想要冒泡,但是以我的臨場反應速度...寫正確纔不正常呢!結果冒泡未成功,倒是冒了很多汗,筆試現場很火爆啊

原创 Hive.GROUPING SETS的“陷阱”

      之前整理了一下Hive 0.10版引進的GROUPING SETS子句特性,並作了簡單的句法使用體驗和數據驗證。但是當時沒有注意到稍微複雜一點的情況,然後,在實際使用過程中,妥妥地就中了一槍。        這一槍發生在有JO

原创 花樣排序

       看到標題,不要激動,我不是要講一種新的排序算法,話說我現在也還不夠能力去發現(發明?)一種新的算法,我只是要說出一種新的排序問題,而已。。。        問題描述如下:        請編程實現將輸入自然數組中的數字按要求

原创 運算符之趣

       C/C++裏面的運算符只是那個語言系統裏面的一個基礎小集合,但是作用卻無可替代;因爲它們是基礎性的東西,所以看起來比較平淡,常常在運算符所操縱的類型需要小心謹慎的時候能夠得到小心對待,在C++中也會因爲需要運算符重載的

原创 Ruby-初印象

跟很多編程語言相比,Ruby是一名新秀了,加上Ruby生於日本,所以即使語言本身並無東亞文字的印記,但是資料還是相對較少。在接觸Ruby的過程中,我感覺這門語言裏擁有和許多腳本語言的印跡,覺得蠻有意思,所以摘錄一些,算是一個筆記來。  

原创 [讀書筆記]隨機取樣

1. 隨機樣本的產生:        給定兩個整數m和n,其中m < n,要求從0 ~ n - 1範圍內隨機選取m個數並按序輸出, 網絡上流傳的很多技術類題目中都有這個問題的身影,《編程珠璣》更是專門用一個章節(第12章)來闡述取樣問題;