嘗試向分析類轉型2--工具使用

接着昨天的weka在linux上安裝

因爲直接在ubuntu軟件中心安裝的。所以安裝目錄比較亂

一般安裝到 /usr/bin 

如果是另外下的deb包(比如google-chrome)就裝在 /opt  
原文件 /var/cache/apt/archives
配置文件 ~/.config

OR

Linux安裝軟件和win安裝軟件的概念不太一樣。
Win總是把一個軟件安裝在一個指定的文件夾裏面。
而Linux不一樣, Linux是把要安裝的軟件分佈在整個系統的各個文件夾裏面,

 比如所有軟件的配置文件都安裝在/etc下面, 

軟件需要的庫文件都安裝在/lib下面,

日誌文件都在/var/log下面,

/bin下是常用的程序,等等。


裝好weka,去/usr/bin 下 發現他是一個bash 文件,用bash打開,然後可以在命令行裏看到運行結果

因爲默認安裝的是沒有libsvm.jar 包的。[warning] weka: Unable to locate libsvm.jar in /usr/share/java

所以自己download一個放到對應文件夾。所有程序要用的jar 包放這 /usr/share/java/


媽蛋,根本找不到運行文件放哪裏了。。。原諒我在linux下讀碼能力有限。。。

然後我就把這種方式的安裝包刪了。。。直接在軟件中心卸載就好。。。

這裏補充一種命令“徹底!!”刪除的方式。

找到此軟件名稱,然後sudo apt-get purge ......,purge參數爲徹底刪除文件,

然後sudo apt-get autoremove,

sudo apt-get clean

和dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 兩條命令來清除殘餘的配置文件


環境變量用${JAVA_HOME} 一般的變量直接用$PATH

然後從官網下載了weka-3.6.10

然後試了好久還是不能連上數據庫


首先準備好對應數據庫的驅動,比如mysql jdbc Driver等,簡便的方法是
將jar文件copy到
/usr/lib/jvm/“java-1.6.0-openjdk”/jre/lib/ext
“java-1.6.0-openjdk“不是唯一的,具體視機器上裝的java運行時而定。

(很多多此一舉的!!!!完全不用把驅動jar包拷貝到新建一個lib文件夾裏放到安裝目錄下和把它複製到/usr/share/java/   完全不用,完全多餘!!)

然後在修改在weka.jar裏面有一個文件
/weka/experiment/DatabaseUtils.props,記錄了數據庫操作的相關參數。


# JDBC driver (comma-separated list)
jdbcDriver=com.mysql.jdbc.Driver


# database URL
jdbcURL=jdbc:mysql://server_name:3306/database_name?user=mm&password=xx

然後就可以連上了


查看數據庫大小:mysql

如果想知道MySQL數據庫中每個表佔用的空間、表記錄的行數的話,可以打開MySQL的 information_schema 數據庫。在該庫中有一個 TABLES 表,這個表主要字段分別是:


TABLE_SCHEMA : 數據庫名
TABLE_NAME:表名
ENGINE:所使用的存儲引擎
TABLES_ROWS:記錄數
DATA_LENGTH:數據大小
INDEX_LENGTH:索引大小


其他字段請參考MySQL的手冊,我們只需要瞭解這幾個就足夠了。


所以要知道一個表佔用空間的大小,那就相當於是 數據大小 + 索引大小 即可。


SQL:


SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM TABLES WHERE TABLE_SCHEMA='數據庫名' AND TABLE_NAME='表名'



或者用語句

1、進入information_schema 數據庫(存放了其他的數據庫的信息)
use information_schema;

2、查詢所有數據的大小:
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;

3、查看指定數據庫的大小:
比如查看數據庫home的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home';

4、查看指定數據庫的某個表的大小
比如查看數據庫home中 members 表的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home' and table_name='members';


python 註釋多行用 三個 雙引號"""ccccdcdcddddd""" 包裹住代碼段就可以了。



看來今天是沒完成任務了。。。

明天除了完成昨天的任務還要開始嘗試新的 weka 的研究和 scikit-learn的研究。。。


發佈了73 篇原創文章 · 獲贊 1 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章