Spark HiveContext vs HbaseContext?

Posted

技术标签:

【中文标题】Spark HiveContext vs HbaseContext?【英文标题】:Spark HiveContext vs HbaseContext? 【发布时间】:2018-03-05 13:25:06 【问题描述】:

我有一个大小为 10 PB 的数据集。我当前的数据位于 HBase 中,我正在使用 Spark HbaseContext,但性能不佳。

在 Spark 上将数据从 HbaseContext 移动到 HiveContext 会有用吗?

【问题讨论】:

你从哪里得到HbaseContext?它是 HBase 连接器的一部分,不是吗?如果是这样,您将无法在上下文之间切换,因为它们“不兼容”。 【参考方案1】:

HiveContext 用于从 Hive 读取数据。因此,如果您切换到 HiveContext,则数据必须在 Hive 中。我不认为你正在尝试什么会奏效。

【讨论】:

【参考方案2】:

在我的用例中,我使用带有 HBase 连接的 mapPartition。关键是要知道怎么拆分。

对于扫描,您可以创建自己的扫描仪,带有前缀等... 对于得到它甚至更容易。 对于puts,你可以创建一个puts列表然后批量插入。

我没有使用任何 HBaseContext,我在 12 亿行的数据库上的性能相当不错。

【讨论】:

以上是关于Spark HiveContext vs HbaseContext?的主要内容,如果未能解决你的问题,请参考以下文章

Apache Spark SQLContext 与 HiveContext 有啥区别?

具有 HiveContext 的多个 Spark 应用程序

Spark - HiveContext |错误的时间戳(减去 4 小时)

Spark初始换HiveContext空指针异常

Spark Window Functions 需要 HiveContext?

使用 Spark/Java Maven 项目获取 HiveContext