Arrow Skyhook 示例#
位于源代码树内的 cpp/examples/arrow/dataset_skyhook_scan_example.cc
文件包含了一个使用 Skyhook 将筛选器和投影卸载到 Ceph 集群的示例。
说明#
注意
以下说明适用于 Ubuntu 20.04 或更高版本。
安装 Ceph 和 Skyhook 依赖项。
apt update apt install -y cmake \ libradospp-dev \ rados-objclass-dev \ ceph \ ceph-common \ ceph-osd \ ceph-mon \ ceph-mgr \ ceph-mds \ rbd-mirror \ ceph-fuse \ rapidjson-dev \ libboost-all-dev \ python3-pip
构建并安装 Skyhook。
git clone https://github.com/apache/arrow cd arrow/ mkdir -p cpp/release cd cpp/release cmake -DARROW_SKYHOOK=ON \ -DARROW_PARQUET=ON \ -DARROW_WITH_SNAPPY=ON \ -DARROW_BUILD_EXAMPLES=ON \ -DARROW_DATASET=ON \ -DARROW_CSV=ON \ -DARROW_WITH_LZ4=ON \ .. make -j install cp release/libcls_skyhook.so /usr/lib/x86_64-linux-gnu/rados-classes/
使用 此 脚本部署具有单个内存中 OSD 的 Ceph 集群。
./micro-osd.sh /tmp/skyhook
生成示例数据集。
pip install pandas pyarrow python3 ../../ci/scripts/generate_dataset.py cp -r nyc /mnt/cephfs/
执行示例。
LD_LIBRARY_PATH=/usr/local/lib release/dataset-skyhook-scan-example file:///mnt/cephfs/nyc