2

我在网上看到的所有 Data Lake 文章都说着陆区包含文件形式的原始数据。但是让我们说,我正在从一些物联网设备中摄取流数据。然后我可以将这些数据直接放入一个表中(例如一个 Hive 表,其信息包括时间戳)还是这是一个不好的做法?

4

2 回答 2

2

我完全同意上述答案,但是您不能使用 sql(hbase 或 cassandra)作为访问 IOT(流数据)的更好选择,因为每秒或不时会从 IOT 设备推送大量数据。

在哪里访问信息将变得乏味。如果您想要报告,那么您可以将这些每小时数据推送到配置单元以进行报告和分析。

即使 hive 元存储已关闭或损坏,您也可以在该时间点从 cassandara 取回数据。

带有火花流或其他东西的物联网 -> cassandra/hbase -> hive/impala -> looker/presto将是不错的选择。但一个缺点是您需要将数据推送到 2 个商店。积极的一面是,您可以随时从 nosql 中恢复数据,例如 cassandra。

进一步阅读哪个数据库适合物联网

于 2020-06-03T22:48:12.627 回答
1

我正在从一些物联网设备中摄取流数据。然后我可以将这些数据直接放入表中吗?

恕我直言,这是其中一种方式。一些项目他们也会将原始数据放在 cassandra/hbase 中,并且基于无 sql 作为访问模式。

如果您需要使用任何 BI 工具(如 looker/presto)访问原始数据(查看到达的数据..),那么将数据放入 hive 是理想的。

另一个想法是存储在按日期(而不是时间戳)分区的 s3 parquet 文件中,然后从 s3 parquet 文件中配置外部表。这种访问模式将确保即使 hive 元存储已损坏或您的 Hadoop 集群 s3 出现问题,您也可以重新运行脚本来制作表格。

这一切都取决于用例来确保数据的安全性、可靠性和报告。

于 2020-06-03T22:35:08.780 回答