丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給三川
發(fā)送

0

不再收費!MapD數(shù)據(jù)庫開源,過來人指點如何上手

本文作者: 三川 2017-05-09 17:27
導語:“相比其他流行分析引擎,MapD 處理工作量的速度要比它們快兩個量級?!?

不再收費!MapD數(shù)據(jù)庫開源,過來人指點如何上手

雷鋒網(wǎng)按:本文作者為英國著名大數(shù)據(jù)分析師 Mark Litwintschik,閱讀原文請戳這里,雷鋒網(wǎng)編譯。

不再收費!MapD數(shù)據(jù)庫開源,過來人指點如何上手

Mark Litwintschik幾天,MapD 將要開源的消息一傳出,我是非常驚訝的。

在我的數(shù)據(jù)處理、管理系統(tǒng)跑分榜上,MapD 一直霸占著頭名。此前,如果想要用 MapD,你得花錢買一個 license,或者在 AWS 上運行 MapD 的 AMI。但現(xiàn)在,其 GPU 驅(qū)動的數(shù)據(jù)庫源代碼,已經(jīng)陸續(xù)上傳到 GitHub。任何人都可以從原始資料編譯數(shù)據(jù)庫,運行在有任意數(shù)量 GPU 的任何計算設(shè)備上?;蛘撸部梢园丫幾g的二進制數(shù)據(jù)運行在 GPU 支撐的 AWS, 谷歌云或微軟 Azure 等云計算平臺。

相比我測試過的其他流行分析引擎,MapD 處理工作量的速度要比它們快兩個量級。但它的好處不止于此,MapD 還有一個基于網(wǎng)頁端的制圖檢索界面。因此,我非常懷疑,它開源的消息將在數(shù)據(jù)社區(qū)掀起一波海嘯。

既然成本門檻已經(jīng)被移除,更多的開發(fā)者將可自由探索  MapD 的各項功能。因此,我也預測它的部署數(shù)量將會迎來井噴。只要運行的是 Linux、用的是英偉達的 GPU,現(xiàn)在任何人都可以編譯、運行、分析 MapD 的源代碼,而它是迄今為止我所發(fā)現(xiàn)的最先進的 GPU 數(shù)據(jù)庫。

對于英偉達,這大概是一個很大的利好——MapD 實現(xiàn)其性能用的是 N 卡的 CUDA 平臺以及 GPU 硬件。但有一點我要提醒大家,雖然 MapD 在 N 卡上才能發(fā)揮真正的性能,但在原則上,沒有 GPU 還是能夠照常運行、使用 MapD 的各項功能。在沒有 GPU 的機器上,英偉達驅(qū)動會報告沒有找到設(shè)備,探后 MapD 會回到 CPU 模式。我從沒用 CPU 模式跑過分,所以對于該模式下的性能犧牲幅度,我沒法評論。但該模式下MapD 起碼看起來功能正常,操作起來沒什么問題。

本文中,我將手把手帶大家從原始數(shù)據(jù)上編譯、運行 MapD。開始之前雷鋒網(wǎng)做個友情提醒,大伙兒若遇到任何問題,可到 MapD 社區(qū)論壇求助。

我的硬件、系統(tǒng)設(shè)置

我的機器用的是英特爾酷睿 i5 4670K,頻率是 3.4 GHz;內(nèi)存為 8 GB DDR3 RAM;硬盤是閃迪 SDSSDHII960G 960 GB SSD;GPU 是英偉達 GTX 1080。

系統(tǒng)是 Ubuntu 16.04.2 Server LTS。我選這個版本,因為它的技術(shù)支持會一直到 2021 四月。

安裝 MapD's 附件

我會從在 apt 的資源列表中,啟用資源庫源代碼開始。

$ sudo sed -i -- \
   's/# deb-src/deb-src/g' \
   /etc/apt/sources.list

之后刷新 apt 資源列表,安裝 39 個包。

$ sudo apt update
$ sudo apt install \
     autoconf \
     autoconf-archive \
     binutils-dev \
     bison++ \
     bisonc++ \
     build-essential \
     clang-3.8 \
     clang-format-3.8 \
     cmake \
     cmake-curses-gui \
     default-jdk \
     default-jdk-headless \
     default-jre \
     default-jre-headless \
     flex \
     git-core \
     golang \
     google-perftools \
     libboost-all-dev \
     libcurl4-openssl-dev \
     libdouble-conversion-dev \
     libevent-dev \
     libgdal-dev \
     libgflags-dev \
     libgoogle-glog-dev \
     libgoogle-perftools-dev \
     libiberty-dev \
     libjemalloc-dev \
     libldap2-dev \
     liblz4-dev \
     liblzma-dev \
     libncurses5-dev \
     libpng-dev \
     libsnappy-dev \
     libssl-dev \
     llvm-3.8 \
     llvm-3.8-dev \
     maven \
     zlib1g-dev

下一步,我會下載安裝 8.0 版本的英偉達 CUDA Toolkit。它會安裝顯卡驅(qū)動,并取代所有已存在的驅(qū)動。

$ curl -L -O https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb
$ sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb
$ sudo apt update
$ sudo apt install cuda

新驅(qū)動裝好之后,重啟系統(tǒng)

$ sudo reboot

系統(tǒng)備份之后,英偉達的系統(tǒng)管理界面應(yīng)該顯示對你的驅(qū)動和 GPU 的檢測診斷。

$ nvidia-smi

MapD 利用 Thrift 在客戶和服務(wù)器之間進行交流。我將從資源哪里安裝它。0.10.0 版本的 Thrift 與 MapD 的兼容性是很不錯的。

$ sudo apt build-dep thrift-compiler
$ curl -O http://apache.claz.org/thrift/0.10.0/thrift-0.10.0.tar.gz
$ tar xvf thrift-0.10.0.tar.gz
$ pushd thrift-0.10.0
$ ./configure \
     --with-lua=no \
     --with-python=no \
     --with-php=no \
     --with-ruby=no \
     --prefix=/usr/local/mapd-deps
$ make -j $(nproc)
$ sudo make install
$ popd

Folly 是一個有 11 個組件的 C++ 算法庫。它由 Facebook 發(fā)布,在 MapD 源代碼中到處都有使用。下面是從資源編譯、創(chuàng)建該算法庫的步驟:

$ curl -O -L https://github.com/facebook/folly/archive/v2017.04.10.00.tar.gz
$ tar xvf v2017.04.10.00.tar.gz
$ pushd folly-2017.04.10.00/folly
$ autoreconf -ivf
$ ./configure \
     --prefix=/usr/local/mapd-deps
$ make -j $(nproc)
$ sudo make install
$ popd

Bison 是 MapD 生成 SQL 解析器(parser)的兩個庫之一。下面是編譯、創(chuàng)建步驟:

$ curl -O -L https://github.com/jarro2783/bisonpp/archive/1.21-45.tar.gz
$ tar xvf 1.21-45.tar.gz
$ pushd bisonpp-1.21-45
$ ./configure
$ make -j $(nproc)
$ sudo make install
$ popd

下面,在 MapD 編譯之前,要確保我們用的是想要的那個 LLVM 二進制版本。

$ for BIN in llvm-config llc clang clang++ clang-format
 do
     sudo update-alternatives \
         --install \
         /usr/bin/$BIN \
         $BIN \
         /usr/lib/llvm-3.8/bin/$BIN \
         1
 done

我會用如下代碼,在環(huán)境變量中添加可執(zhí)行文件和庫文件的路徑。

$ sudo vi /etc/profile.d/mapd-deps.sh

LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/usr/lib/jvm/default-java/jre/lib/amd64/server:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/usr/local/mapd-deps/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/usr/local/mapd-deps/lib64:$LD_LIBRARY_PATH
PATH=/usr/local/cuda/bin:$PATH
PATH=/usr/local/mapd-deps/bin:$PATH
export LD_LIBRARY_PATH PATH

$ sudo chmod +x /etc/profile.d/mapd-deps.sh
$ source /etc/profile.d/mapd-deps.sh

編譯 MapD

我會復制 MapD 的核心源代碼資源庫,然后檢查 21fc39 commit。只用比較好的發(fā)布版本或者 master branch 是一個好主意。但出于讓這些指令前后一致的考慮,這里的代碼實現(xiàn)只針對那一特定的 commit。

$ git clone https://github.com/mapd/mapd-core.git
$ cd mapd-core
$ git checkout 21fc39

我會為 MapD 創(chuàng)建一個 build 文件夾,在開啟修補漏洞的前提下編譯源代碼。

$ cd ~/mapd-core/build
$ cmake -DCMAKE_BUILD_TYPE=debug ..
$ make -j $(nproc)

運行 MapD

經(jīng)過  MapD 的二進制編譯,我會創(chuàng)建一個數(shù)據(jù)文件夾,初始化,然后設(shè)置 MapD 的數(shù)據(jù)庫服務(wù)器和它的 Immerse 網(wǎng)絡(luò)服務(wù)器。

$ mkdir ~/mapd-data
$ bin/initdb --data ~/mapd-data
$ bin/mapd_server --data ~/mapd-data &
$ bin/mapd_web_server &

請注意,這些服務(wù)與所有網(wǎng)絡(luò)界面綁定。所以,請確認 TCP 端口  9090、9091 和 9092,對你不想訪問的系統(tǒng)用防火墻阻止。Immerse 網(wǎng)絡(luò)服務(wù)器應(yīng)該在 TCP 端口 9092 上。

$ open http://127.0.0.1:9092/

在 Immerse UI 的頂端,有一個到 SQL 編輯器的鏈接。哪里,你可以在 MapD 環(huán)境里運行 SQL。注意只有檢索文本框里的第一行 SQL 命令會被執(zhí)行,所以下面的三個請求每次單個運行。

CREATE TABLE testing (
   pk INTEGER
);

INSERT INTO testing (pk)
VALUES (123);

SELECT *
FROM testing
LIMIT 1;

如果你從命令行與 MapD 交互,下面的代碼會設(shè)置它們的 CLI,并使用默認證書和數(shù)據(jù)庫連接到 MapD 服務(wù)器。

$ bin/mapdql -p HyperInteractive

學習更多設(shè)置數(shù)據(jù)庫的操作,請查詢 MapD 官方使用指南以及 GitHub 頁面。

“TensorFlow & 神經(jīng)網(wǎng)絡(luò)算法高級應(yīng)用班”要開課啦!

不再收費!MapD數(shù)據(jù)庫開源,過來人指點如何上手


從初級到高級,理論+實戰(zhàn),一站式深度了解 TensorFlow!

本課程面向深度學習開發(fā)者,講授如何利用 TensorFlow 解決圖像識別、文本分析等具體問題。課程跨度為 10 周,將從 TensorFlow 的原理與基礎(chǔ)實戰(zhàn)技巧開始,一步步教授學員如何在 TensorFlow 上搭建 CNN、自編碼、RNN、GAN 等模型,并最終掌握一整套基于 TensorFlow 做深度學習開發(fā)的專業(yè)技能。

兩名授課老師佟達、白發(fā)川身為 ThoughtWorks 的資深技術(shù)專家,具有豐富的大數(shù)據(jù)平臺搭建、深度學習系統(tǒng)開發(fā)項目經(jīng)驗。

時間:每周二、四晚 20:00-21:00

開課時長:總學時 20 小時,分 10 周完成,每周2次,每次 1 小時

線上授課地址:http://www.ozgbdpf.cn/special/custom/mooc04.html 

相關(guān)文章:

英特爾開源BigDL,可直接在Spark框架下運行深度學習

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

不再收費!MapD數(shù)據(jù)庫開源,過來人指點如何上手

分享:

用愛救世界
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說