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 有啥区别?
Spark - HiveContext |错误的时间戳(减去 4 小时)