hadoop—数据湖的原始数据层是否可以包含表?

fdbelqdn  于 2021-05-31  发布在  Hadoop
关注(0)|答案(2)|浏览(444)

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

nkkqxpd9

nkkqxpd91#

我完全同意上面的回答,但您不能选择sql(hbase或cassandra)作为访问iot(流数据)的更好选择,因为iot设备每秒或不时会推送巨大的数据。
在那里获取信息会变得乏味。如果您需要报告,那么您可以将此每小时数据推送到配置单元中,以用于报告和分析目的。
即使配置单元元存储已关闭或损坏,您也可以在该时间点从cassandara取回数据。
iot与spark stream或其他东西->cassandra/hbase->hive/impala->looker/presto将是一个不错的选择。但一个缺点是需要将数据推送到2个存储区。积极的一面是在任何时候都可以像cassandra一样从nosql恢复数据。
进一步阅读哪个数据库适合物联网

iyr7buue

iyr7buue2#

我正在从一些物联网设备接收流数据。然后我能把这些数据直接放到一个表中吗?。
我知道这是一种方式。在一些项目中,他们也会将原始数据放在cassandra/hbase中,基于no-sql-as访问模式。
如果您需要使用looker/presto这样的bi工具访问原始数据(查看到达的数据……),那么将数据放入配置单元是理想的选择。
另一个想法是存储在s3Parquet文件中,按日期(而不是时间戳)分区,然后从s3Parquet文件中配置单元外部表。这种访问模式将确保即使hive meta store已损坏或hadoop集群s3出现问题,也可以重新运行脚本来生成表。
这一切都取决于用例,以确保数据的安全性,可靠性和报告。

相关问题