原创 Java 多線程實現和尚吃饅頭的問題

和尚吃饅頭問題 30和尚,100個饅頭,每個和尚最多吃4個饅頭,最少吃1個饅頭,一次只能吃1個饅頭。 滿足上述條件,儘快吃光饅頭。 注意 合適沒吃一個饅頭之後要 yield(),不然他會連續吃滿4個饅頭才撒嘴。 代碼 Monk

原创 java 與 python 多線程性能簡單比較

之前做過基本的集合操作比較,例如循環向 list 追加元素,python 比 java 快,我想可能是因爲 python 的基本容器數據類型經過 C 優化導致。 再比較簡單的多線程操作:1000 張票兩個售票員線程賣票,結果是 p

原创 win10 spark scala 本地運行wordcount

注意 每次修改環境變量都要重啓cmd 本機運行需要hadoop common,可以從 github 下載 zip,解包以後設置 HADOOP_HOME 環境變量指向它,然後在 PATH 里加上 HADOOP_HOME\bin,特

原创 Flink 使用 BucketingSink 分桶寫入HSDFS 方便Hive查詢

需求: 用BucketingSink進行分桶sink,按照event time每小時一個分桶,即一個文件夾,方便Hive查詢 文件分桶說明 在每個分桶文件夾內有若干文件,文件名爲_part-8-0.in-progress或_pa

原创 Flink DataSet Sink 寫入 Kafka

借鑑這篇博客,由於flink沒有提供將DataSet寫入kafka的API,所以自己寫了一個。通過實現org.apache.flink.api.common.io.OutputFormat接口,參照JDBCOutputFormat

原创 Flink Dataset join+sortPartition

業務需求 表1大量數據,表2小量數據,表1通過join表2補充數據,將表1按照某個條件分區然後各分區排序,用dataset批處理 從hdfs併發讀表1並加工過濾inner join兩張表並過濾無效數據從hdfs讀表2分區排序寫入h

原创 django rest framework 登錄認證授權 jwt

需求 認證:登錄狀態保持30分鐘,記錄登錄日誌 授權:根據不同的視圖集和http方法授權不同的用戶組訪問 初始方法 起初寫了一個基於token的認證授權方式,建一張token表,有創建時間和更新時間兩個字段,和user是m

原创 django vs flask 負載性能測試對比,誰更快(二)讀數據庫

上文書對比了二者簡單GET json的性能 網上有篇16年的對比文章說django ORM性能要比flask sqlalchemy差,我簡單對比了一下讀數據庫的效率。 環境說明 flask 1.0.2,Flask-SQLAlch

原创 用於人臉識別的深度學習容器環境:docker+cuda+python3.6+opencv+dlib+keras

Nvidia容器運行時 Nvidia容器運行時支持GPU,可以方便的構建和部署容器化的使用GPU加速的應用程序,就是在docker引擎外面包裹了一層,可以在docker裏支持GPU的驅動。 安裝跟着官網的說明就可以順利完成。 N

原创 django vs flask 負載性能測試對比,誰更快(一)GET簡單json

讀數據庫性能在這裏 先上結果: 完整的django初始框架,開發服務器:390 rps 單文件django,開發服務器: 406 rps 單文件flask,開發服務器:423 rps 完整的django初始框架,gunicorn

原创 django rest framework 自定義過濾器 django filter

django filter通過url傳參實現資源的篩選、搜索、排序等功能,省着自己寫從request.query_params獲取參數然後Order.objects().filter()了。 首先安裝django-filter pip

原创 django rest framework 自定義分頁

上回書說到自定義返回內容,通過繼承viewsets.ModelViewSet實現,這裏面有個問題,在list函數,也就是返回結果列表這個功能裏,如果用到了分頁,就需要額外的調整來實現自定義返回內容了。 def list(sel

原创 自定義django rest framework ModelViewSet的返回內容

django rest framework的ModelViewSet非常爽,省了一大堆業務邏輯代碼,跟自己手寫restful的API 比至少減了100多行代碼,而且serializer這種東西都是複製就行,少耗費好多腦細泡。creat

原创 django rest framework 批量刪除

使用ModelViewSet可以自動生成刪除單個資源的方法,刪除的url是/resource_name/pk/。如果想要批量刪除可以寫繼承APIView的類,自定義delete方法,如果使用ModelViewSet的話可以在類裏面寫一

原创 LeetCode23 猴子補丁

本題並不難,但是使用heapq遇到一個問題,python3中如果類沒有實現__lt__方法就不能進行比較,所以如果沒有等號之間那段代碼的話會報錯TypeError: '<' not supported between instance