数据湖的原始数据层可以包含 Table 吗?

Can the raw data layer of a Data Lake contain a Table?

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

I am ingesting streaming data from some IoT devices. Can I then put this data directly into a Table ?.

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

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

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

这完全取决于用例,以确保数据安全性、可靠性和可移植性。

我完全同意上面的回答,但是你可以没有 sql(hbase 或 cassandra)作为访问物联网(流数据)的更好选择,因为每秒都会从物联网设备推送大量数据或不时。

访问信息会变得乏味。如果您想要报告,那么您可以将每小时的数据推送到配置单元中以用于报告和分析目的。

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

IOT with spark stream 或其他东西 -> cassandra/hbase -> hive/impala -> looker/presto 是个不错的选择。但一个缺点是您需要将数据推送到 2 个商店。积极的一面是在任何时候你都可以从 nosql 像 cassandra.

恢复数据

进一步阅读which database is good for IOT