原创 Leetcode算法——46、全排列

給定一個無重複整數數組,返回所有可能的排列。 示例: Input: [1,2,3] Output: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1

原创 pythony語法——使用threadpool實現多線程並行

可以使用 threadpool 來實現多線程並行。 示例 我想用多線程求一個數列的和,可以如下操作: import threadpool def func(dic, c): dic['count'] += c if __

原创 python中matplotlib畫圖中文亂碼的解決方法

問題 在python中使用matplotlib畫圖,裏面的中文會顯示亂碼方塊。 解決方法 這是由於matplotlib默認使用的字體中不包含中文字符引起的,可以通過將中文字符加入到默認字體中解決。 前提:查找本地都有哪些中文字體

原创 Hive之grouping sets用法及grouping_id計算方法

grouping sets 用法 在Hive中,會出現對同一個數據表進行不同粒度的彙總,這時可以有兩種方案: 用多個sql,對不同粒度使用不同的 group by 方法。 用1個sql,使用 grouping sets 方法一次

原创 Hive窗口函數之preceding and following

Hive窗口函數中,有一個功能是統計當前行之前或之後指定行作爲一個聚合,關鍵字是 preceding 和 following,舉例說明其使用方法。 一、加載測試數據 在 hive 環境中創建臨時表: create table tm

原创 Python——使用scipy求解帶約束的最優化問題

我們要求解的最優化問題的形式如下: min f(x)s.t.gi(x)>0,i=1,...,mhj(x)=0,j=1,...,n \begin{aligned} min \ f(x) \\ s.t.\quad g_i(x)&

原创 shell中各種括號(),[],(()),[[]],{}等的作用大全及示例

文章目錄一、`()`1、命令組2、命令替換3、初始化數組二、`(())`1、C語言規則運算2、重定義變量值3、算術比較三、`[]`1、條件判斷2、字符範圍3、數組下標四、`[[]]`1、條件判斷2、返回狀態碼五、`{}`1、字符擴

原创 Shell 語法——if else 詳解

一、語法格式 shell 中的 if 語句的格式如下: if 條件; then command1 else command2 fi 或者將 then 單獨另起一行也可以,這時條件後面的 ; 便可以去掉: if 條件 th

原创 將本地文件導入到Hive表中(支持 TEXTFILE 、ORC 等存儲格式)

1、hive表格式爲TEXTFILE 由於 TEXTFILE 格式沒有對數據進行壓縮,因此直接 load 即可。 假設本地有一個文件 test_person.txt,內容爲: Gong 24 Tian 23 想要將其導入到 TEXT

原创 徹底刪除git中的較大文件(包括歷史提交記錄)

場景 適用於從一個git項目中,將體積較大的資源徹底從git中刪除,包括歷史提交記錄。 如果僅僅在目錄中刪除一個文件是不夠的,只要在提交記錄中有這個文件,那麼 .git 中就會有這個文件的信息。 用 filter-branch 可以強

原创 Leetcode算法——72、編輯距離(edit distance)

給定兩個單詞 word1 和 word2,找到將 word1 轉化爲 word2 所需的最少操作步數。(這個步數稱爲兩個單詞的編輯距離) 對一個單詞可以執行以下三種操作: 1、插入一個字符 2、刪除一個字符 3、替換一個字符 示例:

原创 Leetcode算法——71、簡化路徑(simplify path)

給定一個文件的絕對路徑(unix系統),將其簡化。 在unix文件系統中,’.’ 表示當前目錄,因此可以被忽略。’…’ 表示上一個目錄,因此需要取消掉最後一層目錄。 示例: path = "/home/", => "/home" pa

原创 Leetcode算法——70、爬樓梯(climbing stairs)

你正在爬樓梯,共有 n 層臺階。 每次可以爬 1 層或 2 層。 問有多少種不重複的方法可以從樓梯底爬到樓梯頂。 思路 爬n層臺階,可以根據第一步的層數,將所有爬法分爲兩類: 第一步爬1層,然後繼續爬剩下的n-1層 第一步爬2層,然

原创 python語法——yield 使用解析

帶有 yield 的函數是一種特殊函數,其返回的函數值是一個 generator(生成器)。 yield 示例 舉例說明 yield 的用法:生成一個自增平方序列: def square(n): for i in range(

原创 python報錯——Loaded runtime CuDNN library: 7.0.5 but source was compiled with: 7.1.4

今天 linux 運行 python 時報錯: Loaded runtime CuDNN library: 7.0.5 but source was compiled with: 7.1.4. CuDNN library majo