BigBrother的大数据之旅 Day 1 Linux(1)
Today is a new day!
1 scala是大數據的主流編程語言
Scala是一種強大的JVM語言,混合了函數式和面向對象編程范式
2 大數據的本質為:分布式計算
3 大數據中常見的數據類型為 非結構化和半結構化數據
3.1 結構化數據
 定義:業界指關系模型數據,即以關系數據庫表形式管理的數據
簡析:雖然專業角度上看,結構化就是關系模型的說法并不準確,但針對目前業內現狀,還是定義為關系模型最為妥善,因為它準確的代表了我們傳統上最熟悉的企業業務數據。
3.2 半結構化數據
 定義:非關系模型的、有基本固定結構模式的數據,例如日志文件、XML文檔、JSON文檔、Email等。
3.3 非結構化數據
 定義:沒有固定模式的數據,如WORD、PDF、PPT、EXL,各種格式的圖片、視頻等。
簡析:區分半結構化與非結構化的意義在于,對兩者的處理方法是不同的,非結構化數據大多采用內容管理方法,而半結構化數據基本沒有有效的管理方法。
4 虛擬機配置
4.1 編輯網卡文件
? vi /etc/sysconfig/network-scripts/ifcfg-eth0
 ? DEVICE=eth0
 ? HWADDR=00:0C:29:A0:D3:65
 ? TYPE=Ethernet
 ? UUID=b639c1a1-18aa-4194-8465-2dccda3e9abc
 ? ONBOOT=yes
 ? NM_CONTROLLED=yes
 ? BOOTPROTO=static
 ? IPADDR=192.168.62.101
 ? NETMASK=255.255.255.0
 ? GATEWAY=192.168.62.2
tip1 : 刪除線是可以刪除的
tip2: 可以添加DNS
? DNS1=8.8.8.8
tip3:GATEWAY=192.168.62.2 這個地址為 vmware虛擬機
4.2 配置 主機名稱
vim /etc/sysconfig/network-scripts/ifcfg-eth0
更改hostname
4.3 刪除綁定文件
/etc/udev/rules.d/70-persistent-net.rules
方法1:刪除該文件
方法2:把該文件的第一行進行注釋,第二行末尾添加(修改)為eth0,
? 輸入命令 start u_dev(或者startudev記不太清了)
tip:如果是刪除文件一定要重啟,如果是修改文件一定要重啟 network 服務
5 虛擬機NAT原理
6 操作系統組成
內核:分配管理
庫:沒有入口的軟件,沒有main方法,只能被其他調用
應用軟件:至少有一個入口的軟件
7 用戶接口Shell
7.1 shell
shell 用戶與計算機的交互接口,分為
GUI: 圖像化接口 x-window(包括Gnome,KDE等)
CLI: 字符接口 bash ,bsh等
7.2 命令
命令是用戶的執行入口
命令的格式: 命令 選項(-開頭) 參數(可以是命令的作用對象)
命令中這三部分是用"空格"進行分開的,Linux命令是對空格比較敏感的
選項中
? 短選項: - 多個選項可以組合:-a -b = -ab
 ? 長選項: –
| 概念 | shell內置的命令 | 非shell內置的命令 | 
| 存在位置 | 內存 | 本地硬盤 | 
| 使用的幫助命令 | help | man (yum -y install man man-pages進行安裝,man中使用q退出) | 
內置命令在系統啟動時就調入內存,是常駐內存的,所以執行效率高。
而外部命令是系統的軟件功能,用戶需要時才從硬盤中讀入內存
外部命令也稱為文件系統命令,是bash shell之外的程序,它并不是shell 的一部分。外部命令一般位于/bin、/usr/bin、/sbin或/usr/sbin中。
當執行外部命令時,Linux系統會創建出一個子進程(這種操作被稱為衍生)。
為了演示,我們分析ps -f 的結果。
上圖結果所示:當執行ps時會創建出一個子進程9122(ps命令的PID是9122),其父PID 是9084。
作為父進程的bash shell的PID是9084。
當進程必須執行衍生時,Linux系統需要消耗資料來設置新子進程的環境。
通過上面演示,得出結論:執行外部命令有額外的代價。
內部,外部命令的執行流程(從左向右)
有些歷史命令使用過后,會存在hash表,當你再輸入該命令它的調用會是這樣一個過程。
hash—>內置命令—>PATH
hash -r: 清除緩存
7.3 常用命令
enable 和type命令: 查看命令是內部命令還是外部命令
tips: enable 命令中如果是內部的命令,不會有顯示
? enable -a 可以顯示所有的內部命令
which命令 和whereis命令:查看命令的位置
 
8 目錄和路徑
linux系統中一切皆文件
8.1 目錄
?Filesystem Hierarchy Standard(文件系統層次化標準):跟文件系統:/
–/boot: 系統啟動相關的文件,如內核、initrd,以及grub(bootloader)
–/dev: 設備文件
–/etc:配置文件
–/home:用戶的家目錄,每一個用戶的家目錄通常默認為/home/USERNAME
–/root:管理員的家目錄;
–/lib:庫文件 :沒有執行入口的應用程序
–/media:掛載點目錄,移動設備
–/mnt:掛載點目錄,額外的臨時文件系統
–/opt:可選目錄,第三方程序的安裝目錄
–/proc:偽文件系統,內核映射文件
–/sys:偽文件系統,跟硬件設備相關的屬性映射文件
–/tmp:臨時文件, /var/tmp
–/var:可變化的文件
–/bin: 可執行文件, 用戶命令
–/sbin:管理命令
tips:tree 命令顯示目錄結構
8.2 路徑
從起點到終點中間所用經過的目錄
絕對路徑和相對路徑
9 echo命令
echo $PATH:顯示當前環境變量
echo $LANG: 顯示當前語言環境
echo $$:顯示當前的bash進程號
10 df du 命令
df -h: 顯示掛載的分區
du -h: 顯示文件的所占磁盤的大小
11 stat命令
查看文件的元數據
1、訪問時間,讀一次這個文件的內容,這個時間就會更新。比如對這個文件使用more命令。ls、stat命令都不會修改文件的訪問時間。
2、修改時間,對文件內容修改一次,這個時間就會更新。比如:vi后保存文件。ls -l列出的時間就是這個時間。
3、狀態改變時間。通過chmod命令更改一次文件屬性,這個時間就會更新。查看文件的詳細的狀態、準確的修改時間等,可以通過stat命令文件名。
12 touch 命令
touch 存在文件 刷新 文件的元數據描述的時間
touch 不存在的文件 創建一個文件
13 查看文件
cat :普通查看,不影響交互模式
more: 分頁查看,一次性的
less:分頁查看,支持向上向下操作,空格 向下,b向上
head -數字 , tail -數字 查看文件的開頭或者結尾的幾行
? tips: head -6 文件 | tail -1 查看文件的第6行
14 linux 分區啟動過程
a 進入BIOS
b 讀取MBR
c Boot Loader 找到內核,把控制權給內核
內核文件都是以一種自解壓的壓縮格式存儲以節省空間,它與一個初始化的內存映像和存儲設備映射表都存儲于 /boot 目錄之下。
d 加載 systemd 進程(所有進程的父進程)
在過程中,首先掛載sda1分區,(boot分區)代替將來的/分區,在內核完畢后 ,掛載/分區,把sda1掛載到/boot中
參考文檔:
結構,非結構化,半結構化數據
https://blog.csdn.net/qq_25353433/article/details/81451310
理解內置外置命令
https://blog.csdn.net/hidengxin/article/details/84708090
虛擬機NAT原理圖
https://www.linuxidc.com/Linux/2017-09/147080.htm
stat命令
https://www.cnblogs.com/xuxiuxiu/p/6292825.html
linux 分區啟動過程
https://linux.cn/article-8807-1.html
總結
以上是生活随笔為你收集整理的BigBrother的大数据之旅 Day 1 Linux(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 明基逐鹿,SaaS领域的HR奇兵
 - 下一篇: Hive分析窗口函数: LAG、LEAD