首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

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。
返回列表