scala - 如何将每条 RDD 行与其他行进行比较?火花斯卡拉
问题描述
我实际上正在研究一个包含蛋白质名称及其域的 RDD。示例:'PO7K9I'作为蛋白质名称,'IPR036291;IPR0023'作为结构域我实际上想计算蛋白质结构域之间的相似性,例如,相似性 = 1 两个蛋白质具有完全相同的结构域,相似性 = 0.75 这两个蛋白质仅共享 3 commun domain/4 和最后的相似性=0:在 2 个蛋白质之间没有发现公共域。你能帮我么?
这就是我的 rdd 的样子:
(P25720,IPR002425;IPR036291;IPR020904;IPR0023) (Q9X2F4,IPR006047;IPR013780;IPR0178) (Q29228,IPR016161;IPR016163;IPR016160;IPR029510;IPR016162;IPR0155) (A5N376,IPR000821;IPR009006;IPR011079;IPR001608;IPR020622;IPR0290) (Q5HG16,IPR001792;IPR036046;IPR0179)
解决方案
你能试试这个方法吗
val rdd = (P25720,IPR002425;IPR036291;IPR020904;IPR0023) (Q9X2F4,IPR006047;IPR013780;IPR0178) (Q29228,IPR016161;IPR016163;IPR016160;IPR029510;IPR016162;IPR0155) (A5N376,IPR000821;IPR009006;IPR011079;IPR001608;IPR020622;IPR0290) (Q5HG16,IPR001792;IPR036046;IPR0179)
val combs = rdd.cartesian(rdd) // for creating the Combinations
combs.map(your similarityCheck func)
推荐阅读
- c++ - 在我的 main 中调用填充数组的函数不起作用
- javascript - 如何使用 JavaScript 恢复 Dateinterval 的年月日?
- javascript - D3.js:当用户在 Safari 浏览器上时,不应用 SVG 剪辑路径
- mysql - sequelize和mysql中基于表数据的条件查询结果限制
- azure - 使用 Azure 流量管理器对 Web 应用进行端点监控
- python - 程序调用自己的函数,如何将函数输出的结果写入txt文件
- android - 如何像前台服务一样启动 socket.io 以保持连接并监听消息
- kubernetes - WSO2 APIM 管理:为 HTTP 和 HTTPS 使用标准端口
- angular - Stripe PaymentIntent Card如何实现?
- python - 如何用 Python 中的 pandas 或其他包绘制漂亮的彩色表格?