Spark、apache-flink等数据处理引擎如何将结构化、半结构化和非结构化数据集成在一起并影响计算?
Flink或Spark等通用数据处理引擎允许您定义自己的数据类型和函数。
如果您有非结构化或半结构化数据,您的数据类型可以反映这些属性,例如,通过使某些信息可选或使用灵活的数据结构(嵌套类型、列表、映射等)对其进行建模。您的用户定义函数应该意识到,某些信息可能并不总是存在,并知道如何处理此类情况。
因此,处理半结构化或非结构化数据并不是免费的。必须明确指定。事实上,这两个系统都专注于用户定义的数据和函数,但最近添加了API来简化结构化数据的处理(Flink:Table API,Spark:DataFrames)。