IBM Platform Symphony 高效的大数据处理引擎(4)
 
- UID
- 1066743
|

IBM Platform Symphony 高效的大数据处理引擎(4)
Platform Symphony 的 SDK 接口介绍在介绍 SDK 层之前,先简单介绍一下 Symphony 本身的实现语言。Symphony 的主要模块 EGO 和 SOAM 是由 C/C++语言实现的,这也是 Symphony 追求性能极致的一种体现。因此 Symphony 也不会受限于 JVM(如 GC 的影响)。不过对于用户来说,更关心的是 SDK 层支持的语言。
目前,Symphony 支持 2 种接口:
- 原生的 SDK
支持 Java、C++、C# 以及 Python。因此,用户可以根据自己擅长的语言,开发对应的 Symphony 应用程序。
— Symphony MapReduce 的接口
Symphony 提供和开源 Hadoop 一致的 API,并确保兼容性,这里就再不多做介绍。
下面主要介绍下 Symphony 原生 SDK 的接口。
Client 端的 API在 Client 端涉及的最重要的几个 API 有:
- connect(),用于在 Client 端连接 Symphony 集群中该类应用的 SSM。
- createSession(),用于为该次任务创建 Session(Job)。
- sendTaskInput(),用于发送任务需要的输入。
- fetchTaskOutput(),用于获取计算任务的结果。
Client 工作流程图如下:
图 13. Client 端 API 的流程图 Service 端 API在 Service 端主要的 API 会有:
- onCreateService(),提供用户 Service 端初始化的时机。
- onSessionEnter(),用户 Service 端 Common Data 等数据的读取。
- onInvoke(),用户计算逻辑的实现接口,也就是说在这里并行执行用户的计算逻辑。
- onSessionLeave(),用于 Common Data 数据的清理。
- onDestoryService(),用户可以在这里清理掉初始化时候的数据。
图 14. Service 端 API 的流程图 更多 API 的细节,可以参见 Knowledge Center 中的介绍。
结束语Platform Symphony 凭借其技术沉淀,已经在国外银行业应用了很多年,其历史远远早于 Hadoop。随着大数据在国内的兴起,Symphony 也一直致力于解决国内大数据场景的问题和瓶颈,发挥其优势。目前 Platform Symphony 已经支持了多维度资源调度,并且支持通过 Ambari 安装部署 Symphony 集群。最新的发行版中也支持了 Spark、Yarn 和 Docker 的集成。用户可以很平滑将开源框架中的应用运行在 Symphony 上。如果想了解更多 Symphony 的内容,可以查看 IBM 在线的 Knowledge Center。 |
|
|
|
|
|