2017年11月16日 星期四

在 Elasticsearch 上安裝 X-Pack

因為想要監控 Elasticsearch,所以就試著安裝了 X-Pack。
X-Pack 安裝流程請直接參考官方文件 [1] XD
因為只有幾個動作而已,這裡就省略了。

yum 鎖定軟體版本

以我的狀況來說,因為我的 Elasticsearch 有使用一些有限定版本的擴充套件
因此要避免 yum 不小心幫我把 Elasticsearch 升級。
要作到這個效果,可以使用 versionlock 這個工具
例如以下這樣,可以把 elasticsearch 和 kibana 套件鎖在目前安裝的版本上。

yum install yum-plugin-versionlock
yum versionlock elasticsearch-*
yum versionlock kibana-*
參考資料
  1. How do I exclude kernel or other packages from getting updated in Red Hat Enterprise Linux while updating system via yum?

2017年11月12日 星期日

從 Jupyter 讀取 Windows 磁碟中的鐵達尼號資料

在書上的範例中,提到用鐵達尼號的資料做分析
不過書上範例所指的資料位址已經無法存取了。
稍微搜尋了一下,發現 Kaggle 也有提供這個資料 [1],而且是免費的。

從 [1] 下載資料下來之後,假設是放在 D:\test\data\titanic 這個資料夾裡,訓練用的資料命名為 train.csv

import pandas

training_data_path = "D:\\test\\data\\titanic\\train.csv"

# Read training data.
training_data = pandas.read_csv(training_data_path)
print(training_data)

路徑要記得跳脫,才能正確找到檔案。

參考資料
  1. Kaggle - Titanic: Machine Learning from Disaster
  2. Read a .csv into pandas from F: drive on Windows 7

2017年11月7日 星期二

透過 Anaconda 安裝 Tensorflow 與 Keras

  1. 下載並安裝 Anaconda
  2. 執行以下的指令建立 Python 虛擬環境
    conda create --name tensorflow python=3.5 anaconda
  3. 啟用虛擬環境
    activate tensorflow
  4. 安裝 Tensorflow
    pip install tensorflow
  5. 此時想再使用 pip 會出錯 [1],要先以下述指令強制重新安裝 html5lib
    conda install --force html5lib
  6. 安裝 keras
    pip install keras
參考資料
  1. pip throws TypeError: parse() got an unexpected keyword argument 'transport_encoding' when trying to install new packages

2017年9月21日 星期四

Elasticsearch 去除重複資料

最近一直在處理 Elasticsearch 資料重複的問題
程式當中想要在插入資料之前,先搜尋有沒有重複的資料
如果有的話就先把重複的資料砍到剩下一筆,然後針對那一筆做資料更新。
不過實務上,程式跑起來有些會成功完成 deduplication,但有些則依然重複。

2017年9月13日 星期三

透過 AWS Lambda 開發 Serverless Framework(三):使 Lambda 函式擁有 Internet 存取權

Lambda 函式在部署的時候,預設是不會帶有任何網路設定的
因此我們沒辦法知道 Lambda 實際的 IP 位址等等的資訊。
在一些單純的程式中,這可能沒什麼
但如果是在系統的 pipeline 裡,Lambda 需要去存取其他非公開服務時,可能就會有問題了。

2017年8月17日 星期四

透過 AWS Lambda 開發 Serverless Framework(二):開發 RESTful API

從前一篇文章中,可以看出 Lambda 是一種以事件來觸發的架構
理論上因為 RESTful API 也是以事件觸發的,所以應該也有機會變成 Lambda
不過 JAX-RS 的結構又跟 Lambda 的結構不太一樣,所以到底行不行呢?

2017年8月16日 星期三

eclipse 在 Windows 10 發生使用 git 就無回應的問題

最近突然 eclipse 發生了只要使用任何 git 功能,eclipse 就會陷入無回應的狀況
困擾了一段時間,在經過有點努力的搜尋後,終於找到問題的原因和解法了!(歡呼貌)

2017年8月2日 星期三

透過 AWS Lambda 開發 Serverless Framework(一):接收 Kinesis 訊息

AWS Lambda 是 AWS 發表並大力主打的 Serverless 服務之一。
在談怎麼使用 Lambda 之前,也許可以先談談為何要使用 Lambda?