39.集群环境共享

1.
--py-files get_ctx.py,get_distance.so,depend.zip

需要配置集群上依赖的环境

/home/makexu/test/data
    build.sh
    get_distance.pyx
    req.txt
    pack.sh
    setup.py


1.编写算法pyx代码
        

2.编写set_up.py文件
        
        #!/usr/bin/env python
        # encoding=utf-8
        
        from distutils.core import setup
        from Cython.Build import cythonize
        #cythonize:编译源代码为C或C++,返回一个distutils Extension对象列表
        setup(ext_modules=cythonize('get_distance.pyx'))

3.执行build脚本
        
        #!/bin/bash
        python setup.py build_ext --inplace

4.生成环境依赖文件
        
        pip freeze > req.txt

5.打包环境依赖

        pip install --process-dependency-links --upgrade --target=depend -r req.txt

6.生成zip文件
        
        cd depend
        zip -9mrv ../depend.zip .

7.最终文件列表
        build
        build.sh
        depend
        depend.zip
        get_distance.c
        get_distance.pyx
        get_distance.so
        req.txt
        setup.py

6.spark集群启动--py-files配置
        --py-files get_ctx.py,get_distance.so,depend.zip

7.app中使用算法
        from get_distance import calc_dis_int
posted @ 2018-01-14 23:24  桃源仙居  阅读(79)  评论(0)    收藏  举报