我需要为我的项目设置一个流媒体环境。数据集是下一个:http://research.microsoft.com/pubs/152883/User_guide_T-drive.pdf
我计划使用 PostgreSQL 和 Apache Kafka 作为源,然后使用 Apache Spark 或 Flink 连接到 Kafka,但问题是数据集大约有 10 000 个文本文件。
因此,问题是将~10000个文件(每个文件约500行)导入一个表的最有效/最优雅的方法是什么。
到目前为止,我已经尝试了使用 psycopg2 和 executemany 方法(超慢)的 python 脚本和带有 JDBC 连接器的 Apache FLink 作业(速度不错,但不知道如何在一个作业中迭代超过 10000 个文件。
一个简单的解决方案是使用 Spark 读取文件夹并为每个分区打开一个 odbc 连接,然后迭代并写入每一行。