2

我们正在使用 Cloudera CDH 在 Hadoop 框架上创建 POC。我们想将多个客户端的数据加载到 Hive 表中。

到目前为止,我们在 SQL Server 上为每个客户端都有单独的数据库。对于 OLTP,此基础架构将保持不变。Hadoop 将用于 OLAP。我们有一些对每个客户都相同的主要维度表。所有客户端数据库都具有完全相同的架构。这些表具有相同的主键值。到目前为止,这很好,因为我们为客户提供了单独的数据库。现在我们正在尝试将多个客户端数据加载到同一个数据容器(Hive 表)中。现在,如果我们通过 Sqoop 作业将数据从多个 SQL Server 数据库直接加载到 Hive 中,我们将拥有多个具有相同主键值的行。我正在考虑在 Hive 表中使用代理键,但 Hive 不支持自动增量,但可以使用 UDF 来实现。

我们不想修改 SQL Server 数据,因为它正在运行生产数据。

一种。将多个客户端数据加载到 Hadoop 生态系统的标准/通用方式/解决方案是什么?

湾。sql server 数据库表的主键如何轻松映射到 Hadoop Hive 表?

C。我们如何确保一个客户端永远无法看到其他客户端的数据?

谢谢

4

1 回答 1

0

@Praveen:使用映射器来克服每个客户端数据到 Hadoop 服务器的停机时间,因为在这种情况下客户端数据持有主键。对每个客户端和日期分区使用分区的最佳使用。在开始 sqoop 导入之前,您必须为 HDFS 文件位置实施 TDE 区域。*TDE:透明数据加密区,客户数据安全区的最佳实践。

于 2016-01-28T11:08:26.533 回答