阿里云Cupid SDK使用教程
1. 项目的目录结构及介绍
阿里云Cupid SDK的目录结构如下:
aliyun-cupid-sdk/
├── examples/
│ ├── spark-examples/
│ │ ├── src/
│ │ │ ├── main/
│ │ │ │ ├── scala/
│ │ │ │ │ ├── com/
│ │ │ │ │ │ ├── aliyun/
│ │ │ │ │ │ │ ├── odps/
│ │ │ │ │ │ │ │ ├── spark/
│ │ │ │ │ │ │ │ │ ├── examples/
│ │ │ │ │ │ │ │ │ │ ├── WordCount.scala
├── sdk/
│ ├── cupid-core/
│ │ ├── src/
│ │ │ ├── main/
│ │ │ │ ├── scala/
│ │ │ │ │ ├── com/
│ │ │ │ │ │ ├── aliyun/
│ │ │ │ │ │ │ ├── odps/
│ │ │ │ │ │ │ │ ├── cupid/
│ │ │ │ │ │ │ │ │ ├── core/
│ ├── cupid-datasource/
│ │ ├── src/
│ │ │ ├── main/
│ │ │ │ ├── scala/
│ │ │ │ │ ├── com/
│ │ │ │ │ │ ├── aliyun/
│ │ │ │ │ │ │ ├── odps/
│ │ │ │ │ │ │ │ ├── cupid/
│ │ │ │ │ │ │ │ │ ├── datasource/
│ ├── cupid-client/
│ │ ├── src/
│ │ │ ├── main/
│ │ │ │ ├── scala/
│ │ │ │ │ ├── com/
│ │ │ │ │ │ ├── aliyun/
│ │ │ │ │ │ │ ├── odps/
│ │ │ │ │ │ │ │ ├── cupid/
│ │ │ │ │ │ │ │ │ ├── client/
目录结构介绍
examples/
: 包含示例代码,如Spark的WordCount示例。sdk/
: 包含Cupid SDK的核心模块,包括cupid-core
、cupid-datasource
和cupid-client
。cupid-core/
: 核心代码,包括任务提交接口封装和父子进程读写表相关接口。cupid-datasource/
: 数据源相关代码。cupid-client/
: 客户端相关代码。
2. 项目的启动文件介绍
在examples/spark-examples/src/main/scala/com/aliyun/odps/spark/examples/
目录下,有一个名为WordCount.scala
的启动文件。
WordCount.scala 文件介绍
package com.aliyun.odps.spark.examples
import org.apache.spark.sql.SparkSession
object WordCount {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder()
.appName("WordCount")
.getOrCreate()
val sc = spark.sparkContext
try {
sc.parallelize(1 to 100, 10)
.map(word => (word, 1))
.reduceByKey(_ + _, 10)
.take(100)
.foreach(println)
} finally {
sc.stop()
}
}
}
启动文件说明
WordCount.scala
是一个简单的Spark应用程序,用于计算单词数量。SparkSession
是Spark 2.0引入的新入口点,用于创建