Linux系統(tǒng)與大數(shù)據(jù)應(yīng)用 課件 第4章 Linux系統(tǒng)編輯器和軟件安裝_第1頁
Linux系統(tǒng)與大數(shù)據(jù)應(yīng)用 課件 第4章 Linux系統(tǒng)編輯器和軟件安裝_第2頁
Linux系統(tǒng)與大數(shù)據(jù)應(yīng)用 課件 第4章 Linux系統(tǒng)編輯器和軟件安裝_第3頁
Linux系統(tǒng)與大數(shù)據(jù)應(yīng)用 課件 第4章 Linux系統(tǒng)編輯器和軟件安裝_第4頁
Linux系統(tǒng)與大數(shù)據(jù)應(yīng)用 課件 第4章 Linux系統(tǒng)編輯器和軟件安裝_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Linux系統(tǒng)與大數(shù)據(jù)應(yīng)用4Linux系統(tǒng)編輯器和軟件安裝第章本章內(nèi)容4.1Linux主要編輯器介紹4.2

HTTPServer的介紹和安裝4.3Linux大數(shù)據(jù)包導(dǎo)入庫4.4應(yīng)用案例4.5本章小結(jié)4.1Linux主要編輯器介紹使用Windows的過程中,很多人已經(jīng)習(xí)慣了通過圖形界面修改計算機的配置、配置各種服務(wù)等操作,而在Linux中大部分的配置工作都是通過修改Linux的各種配置文件實現(xiàn)。修改配置文件就需要使用文件編輯器,Linux下的文件編輯器非常多,有的是在字符界面下使用,有的是在圖形界面下使用。本節(jié)中主要介紹一款在圖形界面下使用的文件編輯器。Gedit編輯器它是一個在GNOME桌面環(huán)境下兼容UTF-8的文本編輯器。Gedit包含語法高亮和標(biāo)簽編輯多個文件的功能,對中文支持很好,支持包括GB2312.GBK在內(nèi)的多種字符編碼。利用GNOMEVFS庫,它還可以編輯遠(yuǎn)程文件。它支持完整的恢復(fù)和重做系統(tǒng)以及查找和替換功能。它還支持包括多語言拼寫檢查和一個靈活的插件系統(tǒng),可以動態(tài)地添加新特性。例如snippets和外部程序的整合。另外,gedit還包括一些小特性,包括行號顯示、括號匹配、文本自動換行等。4.1.1Gedit編輯器一.gedit的啟動gedit文本編輯器是ubuntu系統(tǒng)內(nèi)初始的默認(rèn)編輯器。它既適于基本的文本編輯,也適用于高級文本編輯。gedit在絕大多數(shù)ubuntu的發(fā)行版中都已經(jīng)預(yù)裝。gedit的啟動方式有多種,可以從菜單啟動,也可以從終端命令行啟動。從菜單啟動時,選擇桌面頂部的"應(yīng)用程序"->"文本編輯器"命令即可打開;從終端啟動,只需要輸入以下代碼:sudogedit

再按"回車"鍵即可。啟動之后的主界面如圖4-1所示。4.1.1Gedit編輯器4.1.1Gedit編輯器二.窗口說明讀者可以看到gedit啟動的界面和Windows中的"寫字板"程序相似。窗口上有菜單欄、工具欄、編輯欄、狀態(tài)欄等。4.1.1Gedit編輯器三.常用的技巧1打開多個文件要從命令行打開多個文件,請鍵入geditfile1.txtfile2.txtfile3.txt命令,然后按下回車鍵,如圖4-2所示。4.1.1Gedit編輯器2將命令的輸出輸送到文件中例如,要將ls命令的輸出輸送到一個文本文件中,請鍵入ls|gedit,然后按下回車鍵。ls命令的輸出就會顯示在gedit窗口的一個新文件中。3更改突出顯示模式以適用各種文件,方便操作例如,更改以適應(yīng)html文件的步驟為,依次選擇菜單中的"查看"|"突出顯示模式"|"標(biāo)記語言"|"HTML",即可以彩色模式查看html文件。4.1.1Gedit編輯器4插件gedit中有多種插件可以選用,這些插件極大地方便了用戶處理代碼,如常用的包括以下幾種。1)文檔統(tǒng)計信息:選擇菜單欄中的"工具"->"文檔統(tǒng)計"命令,出現(xiàn)"文檔統(tǒng)計信息"對話框,里面顯示了當(dāng)前文件中的行數(shù)、單詞數(shù)、字符數(shù)及字節(jié)數(shù),如圖4-3所示。4.1.1Gedit編輯器2)高亮顯示:選擇"視圖"->"高亮",然后選擇需要高亮顯示的文本。3)插入日期/時間:選擇"編輯"->"插入時間和日期"命令,則在文件中插入當(dāng)前時間和日期。4)跳到指定行:選擇"查找"->"進入行"命令,之后輸入需要定位的行數(shù),即可跳到指定的行。5常用的快捷鍵撤銷:Ctrl+Z復(fù)制:Ctrl+C粘貼:Ctrl+V縮進:Ctrl+T退出:Ctrl+Q保存:Ctrl+S替換:Ctrl+R4.1.1Gedit編輯器4.1.2

VIM編輯器一.Vim起源1976年由BilJoy完成編寫vi,并由BSD發(fā)布。從2006年開始,作為“單一UNIX規(guī)范”的一部分,vi或vi的一種變形版本一定會在類UNIX系統(tǒng)中找到。直到現(xiàn)在,vi仍然被廣泛地使用,vi比其他許多文本編輯器啟動得更快,并且占內(nèi)存更少。vim是vi最著名的一種變形版本。BramMoolenaar在20世紀(jì)80年代末購入Amiga計算機時,Amiga上還沒有最常用的編輯器vi。Bram從一個開源的vi復(fù)制Stevie開始,開發(fā)了vim的1.0版本。最初的目標(biāo)只是完全復(fù)制vi的功能,當(dāng)時的vim是ViIMitation的簡稱。1991年vim1.14版被“FredFishDisk#591”這個Amiga用的免費軟體集所收錄。1992年1.22版本的vim被移植到了TimesNewRoman和MSDOS上。從當(dāng)時開始,vim的全名就變成ViIMproved了,在這之后Vim加入了不計其數(shù)的新功能。作為第一個里程碑的是1994年的3.0版本加入了多視窗編輯模式。從那之后,同一屏幕可以顯示的vim編輯文件數(shù)就不止一個了。1996年發(fā)布的Vim4.0是第一個利用圖形接口的版本。1998年5.0版本的vim加入了語法高亮功能。2001年的vim6.0版本加入了代碼折疊、插件、多國語言支持、垂直分割視窗等功能。2006年5月發(fā)布的Vim7.0版更加入了拼字檢查、上下文相關(guān)補完、標(biāo)簽頁編輯等新功能?,F(xiàn)在最新的版本是2008年8月發(fā)布的vim7.2,該版本合并了vim7.1以來的所有修正補丁,并且加入了腳本的浮點數(shù)支持。4.1.2

VIM編輯器二.vim編輯器使用1.命令操作鍵1)命令模式常用操作鍵G:移動到文件最后一行。nG:n為數(shù)字,移動到文件的第n行。/word:向下查找關(guān)鍵字word。?word:向上查找關(guān)鍵字word。n:重復(fù)前一個查找。N:反向重復(fù)前一個查找。:n,$s/a/b/:替換第n行開始到最后一行中每一行的第一個a為b。:n,$s/a/b/g:替換第n行開始到最后一行中每一行所有a為b,n為數(shù)字,若n為.,表示從當(dāng)前行開始到最后一行。d$:刪除光標(biāo)所在位置到該行最后一個字符。dd:剪切當(dāng)前行。yy:復(fù)制選內(nèi)容。4.1.2

VIM編輯器nyy:復(fù)制從光標(biāo)開始n行內(nèi)容。p:將已復(fù)制的數(shù)據(jù)粘貼到光標(biāo)下一行。P:將已復(fù)制的數(shù)據(jù)粘貼到光標(biāo)上一行。u:復(fù)原上一個操作。Ctrl+R:重復(fù)前一個操作。o:當(dāng)前下插入空行,并進入插入模式。O:當(dāng)前上插入空行,并進入插入模式。.:重復(fù)前一個動作。i:進入插入模式,從當(dāng)前光標(biāo)所在處插入。I:插入模式,從當(dāng)前行第一個非空格處插入。r:插入模式,替換光標(biāo)所在字符。R:進入修改模式。4.1.2

VIM編輯器<Esc>鍵:返回命令模式。2)擴展命令模式常用操作鍵:w:保存。:w!:文件為只讀時強制保存,不過能否保存還要看文件權(quán)限。:q:離開vim。:q!:強制離開。:wq:保存后離開。:x:保存后離開。:e!:將文件恢復(fù)到原始狀態(tài)。:w[filename]:另存為新文件。v:進入可視模式。Ctrl+V:進塊操作模式。:r[filename]:將filename的文件讀到光標(biāo)的后面。n1,n2w[filename]:將n1到n2另存為新文件。:new:新增水平窗口。4.1.2

VIM編輯器:newfilename:新增水平窗口,并在新增的窗口加載filename的文件。:vnew新增垂直窗口。:vfilename:新增垂直窗口,并在新增的窗口加載filename的文件。Ctrl+W+[方向鍵]:切換窗口。:only:僅保留目前的窗口。:setnu:顯示行號。:setnonu:不顯示行號。:setreadonly:文件只讀,除非使用!可寫。:setic:查找時忽略大小寫。:setnoic:查找時不忽略大小寫。4.1.2

VIM編輯器2.vim高級操作vim成為Linux平臺主流的文本編輯器,與其豐富的功能是分不開的。vim除在上面提到的基本功能外,還有許多高級功能。下面幾種就是這些高級功能中的一部分。1)Shell切換在vim中進入文件編輯時,利用vim命令模式所提供的Shell切換功能,可以在不退出vim的情況下執(zhí)行Linux命令。使用該功能時只需在命令模式中輸入:!<Linux命令>當(dāng)Linux命令執(zhí)行完成后按回車就回到了vim環(huán)境中。4.1.2

VIM編輯器2)分割窗口vim可以在分割多窗口環(huán)境下同時編輯多個文件。在vim進入了多窗口后,可以使用【Ctrl+W】組合鍵在不同窗口之間切換。要進入vim多窗口可以使用以下兩種方法。1)在啟動vim時使用“-o”或“-O”,并加上需要同時編輯的多個文件名,其中“-o是使用水平分割的多窗口;“-O”是使用垂直分割的多窗口。4.1.2

VIM編輯器【例4-1】:水平分割的多窗口使用如下命令時,如以下命令:hadoop@hadoop:~$sudovim-o/etc/usr/jc/qwer/etc/usr/jc/dfvim就進入如圖4-4所示的多窗口環(huán)境。4.1.2

VIM編輯器在已經(jīng)打開vim的情況下,如果希望vim進入多窗口,打開另一個文件使vim可以在命令模式下輸入:split<文件名>(水平分割)或:vsplit<文件名>(垂直分割)4.1.2

VIM編輯器3)鍵映射鍵映射類似就是定義一個快捷鍵用于執(zhí)行一個宏。下面是一個鍵映射的簡單例子,將功能鍵F5定義為在行尾輸入分號(;),在vim命令模式下輸入以下內(nèi)容。:map<F5>i<End>;<Esc>上述定義完成后,當(dāng)在命令模式下鍵入功能鍵<F5>時,vim會依次執(zhí)行輸入字母“i”(進行插入模式)、按【End】鍵(移動到當(dāng)前行尾)、輸入分號、按【Esc】鍵(返回命令模式)。:map定義的鍵映射并不是在vim的所有模式下都可用,vim還可以定義其他模式的鍵映射見表4-1。4.1.2

VIM編輯器4.1.2

VIM編輯器提示:Operator-pending模式是指已經(jīng)選擇了一個作為命令的操作符,如“d”,接下來vim希望繼續(xù)選擇一個移動命令或是一個文本對象。vim希望繼續(xù)接收命令而用戶又尚未選擇命令的狀態(tài),如命令“dw”,其中的“w”就是在Operator-pending模式下選擇的。在各種模式下定義鍵映射的命令雖然不一樣,但方法是完全相同的,只是在定義的時候要注意映射的執(zhí)行流程。如上述定義F5的例子如果希望定義在插入模式中就不能只將“:map”改為“:imap”了,因為上述例子中的“i”是進入插入模式,而“:imap”定義的映射在使用時已經(jīng)處于該模式,所以如果希望實現(xiàn)相同的功能就需要修改為以下方式。:imap<F5><Esc>i<End>;<Esc>大家在使用Windows平臺軟件時已經(jīng)習(xí)慣了使用組合鍵,通過映射功能也可以定義組合鍵,如將“Ctrl+O”定義為在行尾輸入分號,在vim命令模式下輸入以下內(nèi)容即可。:map<C-o><Esc>i<End>;<Esc>對于不需要使用的鍵映射可以使用如下方法刪除其映射關(guān)系,不同模式刪除映射關(guān)系的命令見表3-2。:unmap<C-o>4.1.2

VIM編輯器4.1.2

VIM編輯器4)插件vim的功能可以通過向其增加插件的方式擴展。插件就是會被vim自動載入執(zhí)行的腳本。在RHEL5.x中,把插件的腳本放入/usr/share/vim/vim70/plugin目錄即可。RHEL5.x使用的vim已經(jīng)自帶了很多插件。如插件gzip,使得vim可以直接打開使用gzip、bzip2及compress壓縮的文件,當(dāng)文件打開時被動態(tài)解壓縮,并在寫操作時被自動重新壓縮。4.1.2

VIM編輯器三.Ubuntu下安裝vim編輯器【例4-2】:ubuntu系統(tǒng)上vim編輯器的安裝打開終端,在普通用戶下輸入命令:vimsudoapt-getinstallvim-gtk如圖4-5所示:4.1.2

VIM編輯器4.2HTTP

Server的介紹和安裝ApacheHTTPServer(簡稱Apache)是Apache軟件基金會的一個開放源碼的網(wǎng)頁服務(wù)器,可以在大多數(shù)計算機操作系統(tǒng)中運行,由于其多平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過簡單的API擴展,將Perl/Python等解釋器編譯到服務(wù)器中。Apachehttpserver是世界使用排名第一的Web服務(wù)器軟件。它可以運行在幾乎所有廣泛ApacheServer配置界面使用的計算機平臺上。4.2.1ApacheHTTPServerApache源于NCSAhttpd服務(wù)器,經(jīng)過多次修改,成為世界上最流行的Web服務(wù)器軟件之一。Apache取自“apatchyserver”的讀音,意思是充滿補丁的服務(wù)器,因為它是自由軟件,所以不斷有人來為它開發(fā)新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來使用。4.2.1ApacheHTTPServer本來它只用于小型或試驗Internet網(wǎng)絡(luò),后來逐步擴充到各種Unix系統(tǒng)中,尤其對Linux的支持相當(dāng)完美。Apache有多種產(chǎn)品,可以支持SSL技術(shù),支持多個虛擬主機。Apache是以進程為基礎(chǔ)的結(jié)構(gòu),進程要比線程消耗更多的系統(tǒng)開支,不太適合于多處理器環(huán)境,因此,在一個ApacheWeb站點擴容時,通常是增加服務(wù)器或擴充群集節(jié)點而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web服務(wù)器,市場占有率達(dá)60%左右。世界上很多著名的網(wǎng)站如Amazon、Yahoo!、W3Consortium、FinancialTimes等都是Apache的產(chǎn)物,它的成功之處主要在于它的源代碼開放、有一支開放的開發(fā)隊伍、支持跨平臺的應(yīng)用(可以運行在幾乎所有的Unix、Windows、Linux系統(tǒng)平臺上)以及它的可移植性等方面。Apache的誕生極富有戲劇性。當(dāng)NCSAWWW服務(wù)器項目停頓后,那些使用NCSAWWW服務(wù)器的人們開始交換他們用于該服務(wù)器的補丁程序,他們也很快認(rèn)識到成立管理這些補丁程序的論壇是必要的。就這樣,誕生了ApacheGroup,后來這個團體在NCSA的基礎(chǔ)上創(chuàng)建了Apache。4.2.2安裝與配置實例1)命令行安裝Apache打開"終端窗口",輸入"sudoapt-getinstallapache2"-->回車-->輸入"root用戶的密碼"-->回車-->輸入"y"-->回車,安裝完成,如圖4-7所示;4.2.1ApacheHTTPServer2)默認(rèn)的網(wǎng)站根目錄的路徑Apache安裝完成后,默認(rèn)的網(wǎng)站根目錄是"/var/www/html",在終端窗口中輸入"ls/var/www/html"-->回車-->在網(wǎng)站根目錄下有一個"index.html"文件如圖4-8所示,在ie瀏覽器中輸入""-->回車,就可以打開該頁面,如圖4-9所示;4.2.1ApacheHTTPServer4.2.1ApacheHTTPServer3)Apache的第一個配置文件apache2.conf的路徑在終端窗口中輸入"ls/etc/apache2"-->回車-->有一個"apache2.conf"的配置文件,如圖4-10所示。4.2.1ApacheHTTPServer4)Apache的第二個配置文件000-default.conf的路徑在終端窗口中輸入"ls/etc/apache2/sites-available"-->回車-->有一個"000-default.conf"的配置文件,如圖4-11所示。4.2.1ApacheHTTPServer5)修改網(wǎng)站的根目錄1、在終端窗口中輸入"sudovi/etc/apache2/apache2.conf"-->回車-->找到"<Directory/var/www/>"的位置-->更改"/var/www/"為新的根目錄就可以了,如圖4-12,4-13所示。2、在終端窗口中輸入"sudovi/etc/apache2/sites-available/000-default.conf"-->回車-->找到"DocumentRoot/var/www/html"的位置-->更改"/var/www/html"為新的根目錄就可以了,這里我把它更改為"/var/www/",如圖4-12,4-14所示。4.2.1ApacheHTTPServer4.2.1ApacheHTTPServer6)重啟Apache在終端窗口中輸入"sudo/etc/init.d/apache2restart"重啟成功,如圖4-15所示。4.2.1ApacheHTTPServer7)復(fù)制"index.html"文件到"/var/www"目錄下

在終端窗口中輸入"cp/var/www/html/index.html/var/www/"-->回車-->輸入"ls/var/www"--回車-->有一個"index.html"文件,復(fù)制成功,如圖4-16所示。4.2.1ApacheHTTPServer8)測試更改網(wǎng)站根目錄是否成功在瀏覽器中輸入""-->能訪問到"index.html"文件-->更改成功,如圖4-17所示4.3Linux大數(shù)據(jù)包導(dǎo)入庫Linux系統(tǒng)在進行大數(shù)據(jù)配置和應(yīng)用時候,經(jīng)常會引入第三方類庫,而pip是easy_install的替代品,在CPython解釋器,pypy解釋器,可以很好地工作。包管理器就是是在電腦中自動安裝、配制、卸載和升級軟件包的工具組合。pip可以代替之前的easy_install,可以十分方便的引入第三方庫。和Linux的Ubuntu以及Debian等的apt包管理器是一樣的概念。4.3.1PIP安裝一、pip簡介

pip類似RedHat里面的yum,安裝Python包非常方便。pip

是一個安裝和管理

Python

包的工具,python安裝包的工具有easy_install,

setuptools,

pip,distribute。使用這些工具都能下載并安裝django。,而pip是easy_install的替代品。在CPython解釋器,pypy解釋器,可以很好地工作。4.3.1PIP安裝二.安裝pip1.在終端上使用以下命令:$sudoapt-getinstallpython-pippython-devbuild-essential輸入Y,如圖4-18所示:4.3.1PIP安裝2.然后在終端上輸入:$sudopipinstall--upgradepip按下回車鍵,如圖4-19所示:4.3.1PIP安裝3.然后在輸入:$sudopipinstall--upgradevirtualenv按回車鍵,如圖4-20所示:4.3.1PIP安裝pip包的管理安裝包:$pipinstall

djangoCollectingdjangoUsingcachedDjango-1.9.5-py2.py3-none-any.whlInstallingcollectedpackages:djangoSuccessfullyinstalleddjango-1.9.5指定安裝的軟件包版本:通過使用==,>=,<=,>,<來指定一個版本號。$pipinstallmarkdown==2.0升級包:升級包到當(dāng)前最新的版本,可以使用-U或者--upgrade$pipinstall-Udjango4.3.1PIP安裝搜索包:$pipsearch"django"列出已安裝的包:$pipfreezeDjango==1.9.5Markdown==2.0卸載包:$pipuninstalldjang4.3.1PIP安裝四、RequirementsFormatpipfreeze和piplist兩者都是列出已經(jīng)安裝的軟件包,有什么區(qū)別呢。help出的解釋如下:freeze

Output

installed

packages

in

requirements

format.list

List

installed

packages.當(dāng)我們用virtualenv的時候,可以指定一個requirements.txt文件來解決依賴關(guān)系,用法如下:$pip

install

-r

requirements.txtrequirements.txt有一個固定的格式:軟件包名==版本號,每行代表一個軟件包。這樣pip才能理解,如下:feedparser==5.1.3wsgiref==0.1.2django==1.4.2這就是所謂的”requirements

format“;我們可以用pipfreeze>

requirements.txt導(dǎo)出到文件里,然后在另一個地方pipinstall-rrequirements.txt再導(dǎo)入。兩者的區(qū)別可以理解為:piplist列出了所有的包,pipfreeze只列出由pip安裝的軟件包,并輸出成requirements

format格式。4.3.2自帶工具在ubuntu上成功安裝pip后我們就可以使用pip命令了在命令行輸入pip就可以查看pip全部命令,如圖4-21所示:4.3.3導(dǎo)入大數(shù)據(jù)計算庫1.SqlBulkCopy客戶端構(gòu)建與數(shù)據(jù)庫中接收數(shù)據(jù)的表的結(jié)構(gòu)一樣的表,然后相當(dāng)于是把客戶端的表數(shù)據(jù)拷貝到數(shù)據(jù)庫表中,免去了多次寫入的麻煩,速度較快.SqlBulkCopy

using

System.Data.SqlClient;class

Program

{

static

void

Main(){

string

connectionString

=

GetConnectionString();

using

(SqlConnection

sourceConnection

=

new

SqlConnection(connectionString))

{

//建立數(shù)據(jù)庫連接

sourceConnection.Open();

//打開連接

Perform

an

initial

count

on

the

destination

table.

SqlCommand

commandRowCount

=

new

SqlCommand(4.3.3導(dǎo)入大數(shù)據(jù)計算庫"SELECT

COUNT(*)

FROM

"

+

"dbo.BulkCopyDemoMatchingColumns;",

sourceConnection);

//執(zhí)行sql語句并返回結(jié)果

long

countStart

=

System.Convert.ToInt32(commandRowCount.ExecuteScalar());

Console.WriteLine("Starting

row

count

=

{0}",

countStart);

SqlCommand

commandSourceData

=

new

SqlCommand("SELECT

ProductID,

Name,

"

+"ProductNumber

"

+

"FROM

Production.Product;",

sourceConnection);SqlDataReader

reader

=

commandSourceData.ExecuteReader();

using

(SqlBulkCopy

bulkCopy

=

new

SqlBulkCopy(connectionString))

{

//建立數(shù)據(jù)庫連接bulkCopy.DestinationTableName

=

"dbo.BulkCopyDemoMatchingColumns";

try

{

bulkCopy.WriteToServer(reader);}

catch

(Exception

ex)

4.3.3導(dǎo)入大數(shù)據(jù)計算庫{

Console.WriteLine(ex.Message);

}

Finally{

reader.Close();//關(guān)閉}

}

long

countEnd

=

System.Convert.ToInt32(commandRowCount.ExecuteScalar());

Console.WriteLine("Ending

row

count

=

{0}",

countEnd);

Console.WriteLine("{0}

rows

were

added.",

countEnd

-

countStart);Console.WriteLine("Press

Enter

to

finish.");Console.ReadLine();

}}private

static

string

GetConnectionString()

//獲得連接起來的字符串{

return

"Data

Source=(local);

"

+"

Integrated

Security=true;"

+

"Initial

Catalog=AdventureWorks;";}4.3.3導(dǎo)入大數(shù)據(jù)計算庫2.表值參數(shù)方式把表結(jié)構(gòu)當(dāng)成存儲過程變量的一個參數(shù),為一次性提交到數(shù)據(jù)庫處理方法中,比多次寫入數(shù)據(jù)庫的速度快很多#region

使用表值參數(shù):客戶端如下:public

static

bool

ExecuteTableTypeInsert(DataTable

dt,

int

batchSize){

int

count

=

dt.Rows.Count;//定義bool

flag

=

false;

SqlConnection

cn

=

null;SqlCommand

cmd

=

null;DataTable

tempTable

=

Tools.MakeDataTable();DataRow

row

=

null;4.3.3導(dǎo)入大數(shù)據(jù)計算庫Try{cn

=

new

SqlConnection(connectionString);//創(chuàng)建對象并連接cmd

=

new

SqlCommand();cmd.Connection

=

cn;

cmd.CommandType

=

CommandType.StoredProcedure;

cmd.CommandText

=

"InsertData";cn.Open();

for

(int

i

=

0;

i

<

count;

i

+=

batchSize)//組和sql{

for

(int

j

=

i;

j

<

i

+

batchSize

&&

j

<

count;

j++)

4.3.3導(dǎo)入大數(shù)據(jù)計算庫{

row

=

tempTable.NewRow();

row["Id"]

=

dt.Rows[j]["Id"];

row["Name"]

=

dt.Rows[j]["Name"];

tempTable.Rows.Add(row);}

SqlParameter

param

=

cmd.Parameters.AddWithValue("@rows",

tempTable);

param.SqlDbType

=

SqlDbType.Structured;param.TypeName

=

"TestType";

cmd.ExecuteNonQuery();

tempTable.Clear();

cmd.Parameters.Clear();

}4.3.3導(dǎo)入大數(shù)據(jù)計算庫flag

=

true;

}

catch

(Exception

ex)

//捕捉異常{

LogHelper.Error(ex.Message);return

false;

}Finally//關(guān)閉{

if

(cn

!=

null)

{

4.3.3導(dǎo)入大數(shù)據(jù)計算庫if

(cn.State

==

ConnectionState.Open){

cn.Close();

}

cn.Dispose();}

if

(cmd

!=

null)

cmd.Dispose();}

return

flag;}

#endregion

4.3.3導(dǎo)入大數(shù)據(jù)計算庫數(shù)據(jù)庫端如下:

create

table

TestTable

(

//創(chuàng)建表Id

int

,Name

nvarchar(20)

)

CREATE

TYPE

TestType

AS

TABLE

(

//動態(tài)組和一個sql

Id

int

NOT

NULL

,Name

nvarchar(20)

NOT

NULL

)

CREATE

PROC

InsertData

@rows

TestType

READONLY

as

begin

//插入數(shù)據(jù)

set

nocount

on

insert

into

TestTable(Id,

Name)

select

Id,

Name

from

@rows

end4.4應(yīng)用案例通過本章的的學(xué)習(xí),我想大家對linux系統(tǒng)的編輯器的了解有了一個深刻的認(rèn)識。首先,我們是基于Linux系統(tǒng)的Ubuntu系統(tǒng)的環(huán)境下,其實我們在做一些環(huán)境搭建的時候,就需要對一些文件進行修改,也就是我們所說的修改配置文件,在需改這些文件時,我們就可以通過編輯器來打開這些需要修改的配置文件。下面我們將通過Hadoop集群的搭建的過程中的修改配置文件讓大家具體的了解編輯器的實用,和用途。在搭建Hadoop集群的時候,我們首先要選一臺虛擬機作為主機(Master),另一個或多個虛擬機作為從機(Slave),每臺虛擬機上必須配置Hadoop用戶,安裝SSHServer,安裝Hadoop,并配置Hadoop的環(huán)境。這些都準(zhǔn)備好了之后我們開始搭建Hadoop集群。4.4應(yīng)用案例首先網(wǎng)絡(luò)配置,其次進行設(shè)置SSH免密碼登入錄,然后進行Path文件的配置,最后配置集群環(huán)境。在這里我們主要將了解Hadoop集群修改配置文件。所以Hadoop集群配置的網(wǎng)路配置和SSH免密碼登錄在這里將不做過多的詳細(xì)過程,主要實通過Vim或Gedit編輯器來實現(xiàn)修改Hadoop的配置環(huán)境,進而更加清楚的學(xué)會和了解Vim和Gedit編輯器的使用。在這里我們先默認(rèn)之前的操作全部完成,接下來我們將詳細(xì)的實現(xiàn)Hadoop集群的配置中的Path文件的配置和配置集群環(huán)境。首先在buntu系統(tǒng)桌面上右鍵打開的命令窗口,首先執(zhí)行:vim~/.bashrc進入vim編輯器中進行對配置文件的修改,在后面加一句:exportPATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin如圖4-22,圖4-23所示4.4應(yīng)用案例4.4應(yīng)用案例修改之后按ESC鍵輸入命令保存并退出::wq如圖4-24所示保存后執(zhí)行:source~/.bashrc使配置生效,如圖4-25所示:4.4應(yīng)用案例集群環(huán)境的配置需要修改/usr/local/hadoop/etc/hadoop中的5個配置文件,slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

。1)輸入命令:vimslaves把文件slaves修改為主機名和從機名如圖4-26所示。4.4應(yīng)用案例2)我們先輸入命令:cd/usr/local/hadoop/etc/hadoop然后輸入:ls就可以顯示當(dāng)前目錄下的所有文件,如圖4-27所示:4.4應(yīng)用案例3)輸入命令:vimcore-site.xml打開core-site.xml并且如下圖4-28所示修改文件;4.4應(yīng)用案例4)輸入命令:vimhdfs-site.xml打開hdfs-site.xml并且如下圖4-29所示;4.4應(yīng)用案例5)

輸入命令:vimmapred-site.xml打開mapred-site.xml并且如下圖4-30所示;4.4應(yīng)用案例6)

輸入命令:vimyarn-site.xmls打開yarn-site.xml并且如下圖4-31所示;這樣Hadoop集群的配置文件就配置好了。本章總結(jié)本章的學(xué)習(xí)主要介紹了Linux中兩種主要編輯器gedit和vim的功能和在ubuntu下安裝和配置的方法,Shell切換,分割窗口,pip,大數(shù)據(jù)導(dǎo)入庫,ApacheHTTPServer,表值參數(shù)方式。Gedit如何建立文件,保存文件,vim編輯器的使用。另外講解了python包的管理工具pip的功能及其包含的工具。通過本章學(xué)習(xí),我們可以初步了解Linux中的這些軟件,為以后深入學(xué)習(xí)大數(shù)據(jù)應(yīng)用打下基礎(chǔ),實踐與練習(xí)一.選擇題1.在vi編輯器中的命令模式下,鍵入

可在光標(biāo)當(dāng)前所在行下添加一新行。

A

<a>;

B

<o>;

C

<I>;

D

A

2.在vi編輯器中的命令模式下,刪除當(dāng)前光標(biāo)處的字符使用

命令。

A

<x>;

B

<d>;<w>;

C

<D>;

D

<d>;<d>;

3.mc是UNIX風(fēng)格操作系統(tǒng)的

。

A

文件編輯器/程序編譯器

B

配置網(wǎng)絡(luò)的窗口工具

C

目錄瀏覽器/文件管理器

D

Samba服務(wù)器管理工具實踐與練習(xí)4.在vi編輯器中的命令模式下,重復(fù)上一次對編輯的文本進行的操作,可使用

命令。

A

上箭頭

B

下箭頭

C

<.>;

D

<*>;

5.用命令ls

-al顯示出文件ff的描述如下所示,由此可知文件ff的類型為

。

-rwxr-xr--

1

root

root

599

Cec

10

17:12

ffA

普通文件

B

硬鏈接

C

目錄

D

符號鏈接

6.

刪除文件命令為:

。

A

mkdir

B

rmdir

C

mv

D

rm

7.在下列命令中,不能顯示文本文件內(nèi)容的命令是:

A

more

B

less

C

tail

D

join

實踐與練習(xí)8.

目錄存放著Linux的源代碼。

A

/etc

B

/usr/src

C

/usr

D

/home

9.退

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論