首页 » SEO优化 » phpldaplibrary技巧_不再收费MapD数据库开源过来人指点若何上手

phpldaplibrary技巧_不再收费MapD数据库开源过来人指点若何上手

访客 2024-11-06 0

扫一扫用手机浏览

文章目录 [+]

Mark Litwintschik:前几天,MapD 将要开源的一传出,我是非常惊异的。

在我的数据处理、管理系统跑分榜上,MapD 一贯霸占着头名。
此前,如果想要用 MapD,你得费钱买一个 license,或者在 AWS 上运行 MapD 的 AMI。
但现在,其 GPU 驱动的数据库源代码,已经陆续上传到 GitHub。
任何人都可以从原始资料编译数据库,运行在有任意数量 GPU 的任何打算设备上。
或者,也可以把编译的二进制数据运行在 GPU 支撑的 AWS, 谷歌云或微软 Azure 等云打算平台。

phpldaplibrary技巧_不再收费MapD数据库开源过来人指点若何上手

比较我测试过的其他盛行剖析引擎,MapD 处理事情量的速率要比它们快两个量级。
但它的好处不止于此,MapD 还有一个基于网页真个制图检索界面。
因此,我非常疑惑,它开源的将在数据社区掀起一波海啸。

phpldaplibrary技巧_不再收费MapD数据库开源过来人指点若何上手
(图片来自网络侵删)

既然本钱门槛已经被移除,更多的开拓者将可自由探索 MapD 的各项功能。
因此,我也预测它的支配数量将会迎来井喷。
只要运行的是 Linux、用的是英伟达的 GPU,现在任何人都可以编译、运行、剖析 MapD 的源代码,而它是迄今为止我所创造的最前辈的 GPU 数据库。

对付英伟达,这大概是一个很大的利好——MapD 实现其性能用的是 N 卡的 CUDA 平台以及 GPU 硬件。
但有一点我要提醒大家,虽然 MapD 在 N 卡上才能发挥真正的性能,但在原则上,没有 GPU 还是能够照常运行、利用 MapD 的各项功能。
在没有 GPU 的机器上,英伟达驱动会报告没有找到设备,探后 MapD 会回到 CPU 模式。
我从没用 CPU 模式跑过分,以是对付该模式下的性能捐躯幅度,我没法评论。
但该模式下MapD 最少看起来功能正常,操作起来没什么问题。

本文中,我将手把手带大家从原始数据上编译、运行 MapD。
开始之前雷锋网做个交情提醒,大伙儿若碰着任何问题,可到 MapD 社区论坛乞助。

我的硬件、系统设置

我的机器用的是英特尔酷睿 i5 4670K,频率是 3.4 GHz;内存为 8 GB DDR3 RAM;硬盘是闪迪 SDSSDHII960G 960 GB SSD;GPU 是英伟达 GTX 1080。

系统是 Ubuntu 16.04.2 Server LTS。
我选这个版本,由于它的技能支持会一贯到 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。
它会安装显卡驱动,并取代所有已存在的驱动。

$ 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

新驱动装好之后,重启系统

$ sudo reboot

系统备份之后,英伟达的系统管理界面该当显示对你的驱动和 GPU 的检测诊断。

$ nvidia-smi

MapD 利用 Thrift 在客户和做事器之间进行互换。
我将从资源哪里安装它。
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 发布,在 MapD 源代码中到处都有利用。
下面是从资源编译、创建该算法库的步骤:

$ 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)的两个库之一。
下面是编译、创建步骤:

$ 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

我会用如下代码,在环境变量中添加可实行文件和库文件的路径。

$ 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。
只用比较好的发布版本或者 master branch 是一个好主张。
但出于让这些指令前后同等的考虑,这里的代码实现只针对那一特定的 commit。

$ git clone https://github.com/mapd/mapd-core.git

$ cd mapd-core

$ git checkout 21fc39

我会为 MapD 创建一个 build 文件夹,在开启修补漏洞的条件下编译源代码。

$ cd ~/mapd-core/build

$ cmake -DCMAKE_BUILD_TYPE=debug ..

$ make -j $(nproc)

运行 MapD

经由 MapD 的二进制编译,我会创建一个数据文件夹,初始化,然后设置 MapD 的数据库做事器和它的 Immerse 网络做事器。

$ mkdir ~/mapd-data

$ bin/initdb --data ~/mapd-data

$ bin/mapd_server --data ~/mapd-data &

$ bin/mapd_web_server &

请把稳,这些做事与所有网络界面绑定。
以是,请确认 TCP 端口 9090、9091 和 9092,对你不想访问的系统用防火墙阻挡。
Immerse 网络做事器该当在 TCP 端口 9092 上。

$ open http://127.0.0.1:9092/

在 Immerse UI 的顶端,有一个到 SQL 编辑器的链接。
哪里,你可以在 MapD 环境里运行 SQL。
把稳只有检索文本框里的第一行 SQL 命令会被实行,以是下面的三个要求每次单个运行。

CREATE TABLE testing (

pk INTEGER

);

INSERT INTO testing (pk)

VALUES (123);

SELECT

FROM testing

LIMIT 1;

如果你从命令行与 MapD 交互,下面的代码会设置它们的 CLI,并利用默认证书和数据库连接到 MapD 做事器。

$ bin/mapdql -p HyperInteractive

学习更多设置数据库的操作,请查询 MapD 官方利用指南以及GitHub页面。

“TensorFlow & 神经网络算法高等运用班”要开课啦!

从低级到高等,理论+实战,一站式深度理解 TensorFlow!

本课程面向深度学习开拓者,讲授如何利用 TensorFlow 办理图像识别、文本分析等详细问题。
课程跨度为 10 周,将从 TensorFlow 的事理与根本实战技巧开始,一步步教授学员如何在 TensorFlow 上搭建 CNN、自编码、RNN、GAN 等模型,并终极节制一整套基于 TensorFlow 做深度学习开拓的专业技能。

两名授课老师佟达、白发川身为 ThoughtWorks 的资深技能专家,具有丰富的大数据平台搭建、深度学习系统开拓项目履历。

韶光:每周二、四晚 20:00-21:00

开课时长:总学时 20 小时,分 10 周完成,每周2次,每次 1 小时

线上授课地址:http://www.leiphone.com/special/custom/mooc04.html

标签:

相关文章

我国土地利用分类代码的构建与应用

土地利用分类代码是我国土地管理的重要组成部分,是土地资源调查、规划、利用和保护的依据。土地利用分类代码的构建与应用显得尤为重要。本...

SEO优化 2025-02-18 阅读0 评论0

微信跳转微信支付便捷支付体验的秘密武器

移动支付已成为人们日常生活中不可或缺的一部分。作为我国领先的社交平台,微信支付凭借其便捷、安全的支付方式,深受广大用户的喜爱。而微...

SEO优化 2025-02-18 阅读0 评论0

探寻会计科目代码背后的奥秘分类与

会计科目代码是会计信息系统中不可或缺的组成部分,它将企业的经济活动进行分类和归纳,为会计核算、财务分析和决策提供重要依据。本文将从...

SEO优化 2025-02-18 阅读1 评论0