【发布时间】:2017-01-04 23:46:31
【问题描述】:
我正在处理需要从 csv/tsv 读取传感器数据并插入 Cassandra db 的需求。
CSV 格式:
sensor1 时间戳1 值
传感器 1 时间戳 2 值
传感器 2 时间戳 1 值
传感器 2 时间戳 3 值
详情:
用户可以将文件上传到我们的网络应用程序。上传文件后,我需要在下一页中向用户显示列中的唯一值。 例如 ->
- sensor1 node1
- sensor2 节点2
- 传感器创建
用户可以使用名为 node1 的现有主键映射 sensor1,在这种情况下,sensor1 的时间戳和值将添加到主键等于 node1 的表中,或者创建主键,在这种情况下,时间戳和值将是添加了新的主键。
我能够使用 Java8 流和收集来实现这一点。这适用于小型 csv 文件。
问题:
如何将巨大的 csv/tsv 文件 (200 gb) 上传到我的 Web 应用程序? 我应该在 HDFS 中上传文件并在 UI 中指定路径吗?我什至将大文件分成小块(每个 50 MB)。
如何从第一列获取唯一值?我可以使用卡夫卡/火花 这里?我需要将时间戳/值插入 Cassandra db。我可以再次使用吗 Kafka/Spark 在吗?
非常感谢任何帮助。
【问题讨论】:
标签: java apache-spark cassandra apache-kafka apache-storm