Spark-Sklearn 开源项目教程
1. 项目的目录结构及介绍
spark-sklearn/
├── LICENSE
├── README.md
├── build.sbt
├── project
│ └── build.properties
├── src
│ ├── main
│ │ ├── python
│ │ │ ├── spark_sklearn
│ │ │ │ ├── __init__.py
│ │ │ │ ├── grid_search.py
│ │ │ │ ├── converter.py
│ │ │ │ └── util.py
│ │ │ └── setup.py
│ │ └── scala
│ │ └── com
│ │ └── databricks
│ │ └── spark
│ │ └── sklearn
│ │ ├── GridSearchCV.scala
│ │ └── package.scala
│ └── test
│ └── python
│ └── spark_sklearn
│ ├── __init__.py
│ ├── test_grid_search.py
│ └── test_converter.py
目录结构介绍
LICENSE
: 项目许可证文件。README.md
: 项目说明文档。build.sbt
: Scala 项目构建配置文件。project/build.properties
: SBT 构建工具版本配置文件。src/main/python
: Python 源代码目录。spark_sklearn
: 主要功能模块。__init__.py
: 模块初始化文件。grid_search.py
: 网格搜索功能实现。converter.py
: 数据转换功能实现。util.py
: 工具函数实现。
setup.py
: Python 包安装配置文件。
src/main/scala
: Scala 源代码目录。com/databricks/spark/sklearn
: 主要功能模块。GridSearchCV.scala
: 网格搜索功能实现。package.scala
: 包初始化文件。
src/test/python
: 测试代码目录。spark_sklearn
: 测试模块。__init__.py
: 测试模块初始化文件。test_grid_search.py
: 网格搜索功能测试。test_converter.py
: 数据转换功能测试。
2. 项目的启动文件介绍
项目的启动文件主要是 src/main/python/setup.py
。该文件用于配置和安装 Python 包。
setup.py
文件介绍
from setuptools import setup, find_packages
setup(
name='spark-sklearn',
version='0.2.0',
description='Integration tools for using scikit-learn with Apache Spark',
author='Databricks',
author_email='spark-sklearn-support@databricks.com',
url='https://github.com/databricks/spark-sklearn',
packages=find_packages(where='src/main/python'),
package_dir={'': 'src/main/python'},
install_requires=[
'scikit-learn>=0.18.1',
'numpy>=1.11.1',
'scipy>=0.17.1',
'pyspark>=2.0.0'
],
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Topic :: Software Development :: Libraries',
'License :: OSI Approved :: Apache Software License',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6'
],
keywords='spark sklearn machine learning',
license='Apache License, Version 2.0',
test_suite='nose.collector',
tests_require=['nose']
)
启动文件功能
- 定义包的名称、版本和描述。
- 指定作者和联系邮箱。
- 配置依赖包。
- 设置包的分类和许可证。
- 配置测试工具。
3. 项目的配置文件介绍
项目的配置文件主要是 build.sbt
和 `