Intel BIGDL 探索

安装篇

intel BIGDL的安装似乎很简单,从官网下载一个包,解压就可以了。使用似乎更简单,把包放入spark-submit的路径中,运行就可以了。但是真的是这么简单吗?未必。

  1. 确定spark版本 。在BigDL官网,可以看到多个 版本。从0.1 到 0.2 ,从spark 1.5 到 spark 2.1.1

  2. Cloudera默认装spark 1.6,此外还可以另外安装spark 2。从Cloudear官网,下载SPARK2_ON_YARN-2.1.0.cloudera1.jar,就是2.1.1;如果是SPARK2_ON_YARN-2.1.0.cloudera2.jar,就是2.1.2

  3. 安装结束之后,要运行spark2-submit, pyspark2等命令,验证spark2有效

  4. bigdl下载回来之后,假设/data/app/bigdl2为应用目录,将zip文件移到这个目录下,然后解压缩,会看到3个文件夹,分别为bin , conf 和lib。

  5. 到此,安装结束。

验证篇

bigDL提供了一些例子,例如lenet数字识别。如果要运行run.example.sh,则需要准备很多环境变量,非常麻烦,所以我建立了一个简化的版本。

以下部分是训练模型,最后训练好的模型会保存到/data/sample/lenet_model/yyyymmdd_hhmmss 下,预测的时候,会用到:

        BIGDL_VERSION=0.2.0
        BIGDL_JAR=/data/app/bigdl2/lib/bigdl-SPARK_2.1-${BIGDL_VERSION}-jar-with-dependencies.jar
        MAX_EPOCH=10
        MODEL_DIR=/data/sample/lenet_model
        DATA_DIR=/data/sample/mnist
        CORES=4
        NODES=4
        MEMORY=2G
        BATCH_SIZE=1024
        MODEL=lenet

spark2-submit --master $SPARK_URL \
            --conf  spark.dynamicAllocation.minExecutors=20   \    
            --conf  spark.dynamicAllocation.maxExecutors=20  \
            --total-executor-cores $(($CORES * $NODES)) \
            --executor-cores $CORES \
            --driver-cores $CORES \
            --driver-memory $MEMORY \
            --executor-memory $MEMORY \
            --num-executors $NODES \
            --class com.intel.analytics.bigdl.models.$MODEL.Train $BIGDL_JAR \
            -f $DATA_DIR/ -b $BATCH_SIZE \
            --maxEpoch $MAX_EPOCH 
            --overWrite 
            --checkpoint $MODEL_DIR

预测部分,请看--model参数,这里需要指定一个具体的模型文件名称:


    spark2-submit \
        --master yarn \
        --conf  spark.dynamicAllocation.maxExecutors=16 \
        --conf  spark.dynamicAllocation.minExecutors=16 \
        --total-executor-cores $(($CORES * $NODES)) \
        --executor-cores $CORES \
        --driver-cores   $CORES \
        --driver-memory  $MEMORY \
        --executor-memory $MEMORY \
        --num-executors $NODES \
        --class com.intel.analytics.bigdl.models.$MODEL.Test $BIGDL_JAR \
        -f $DATA_DIR/ \
        --model $MODEL_DIR/20171023_124010/model.119  \
        -b $BATCH_SIZE


此外,本次验证了在spark2.2上跑bigdl for 2.1.1,结果失败了,提示数据类型转换异常。在spark1.6上跑是可以的。

#!/usr/bin/bash
BigDL_HOME=/data/app/bigdl2
BIGDL_VERSION=0.2.0
MASTER=yarn
SPARK_VERSION=SPARK_2.1
PYTHON_API_ZIP_PATH=${BigDL_HOME}/lib/bigdl-${BIGDL_VERSION}-python-api.zip
BigDL_JAR_PATH=${BigDL_HOME}/lib/bigdl-${SPARK_VERSION}-${BIGDL_VERSION}-jar-with-dependencies.jar

export PYTHONPATH=${PYTHON_API_ZIP_PATH}:$PYTHONPATH
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook --notebook-dir=./  --ip=* --no-browser"

   pyspark2 \
       --master ${MASTER} \
       --properties-file ${BigDL_HOME}/conf/spark-bigdl.conf \
       --driver-cores 5  \
       --driver-memory 2g  \
       --total-executor-cores 8  \
       --executor-cores 1  \
       --num-executors 4  \
       --executor-memory 2g \
       --py-files ${PYTHON_API_ZIP_PATH} \
       --jars ${BigDL_JAR_PATH} \
       --conf spark.driver.extraClassPath=${BigDL_JAR_PATH} \
       --conf spark.executor.extraClassPath=bigdl-${SPARK_VERSION}-${BIGDL_VERSION}-jar-with-dependencies.jar

转载于:https://my.oschina.net/pearma/blog/1542664

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值