问题标签 [hfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
72 浏览

scala - 无法在列族中插入超过 3 列

我是 HBase 的新手,遇到一个问题,我无法在 Google 中找到答案。

我正在尝试使用盐渍表方法将数据从 Hive 批量插入到 HBase,如下所述:https ://www.opencore.com/blog/2016/10/efficient-bulk-load-of-hbase-using-spark/

唯一的转折是我需要插入具有多列的数据。Hive 中的表有以下列:Code、Description、Total_emp、salary

我正在尝试将完全相同的列插入 HBase。HBase 表如下:

但是,在将工资列插入 HFile 时,我不断收到此错误:

如果我删除工资列或将工资列移动到新列族中,我可以创建 HFile。但是,这不应该是因为我已经阅读了单个列族能够容纳许多列。

我尝试将块大小从默认增加到 1MB,但仍然是同样的问题。

下面是我的测试代码:

我希望在 HBase 的列族中插入超过 3 列,但现实说我现在不能。感谢任何帮助解决此问题。谢谢。

0 投票
0 回答
484 浏览

scala - 如何修复“无法从 org.apache.hbase.classification.InterfaceAudience 加载符号”?

我正在尝试使用 Apache Spark 准备一个要在 HBase 上以 HFile 格式存储的 DataFrame。我正在使用 Spark 2.1.0、Scala 2.11 和 HBase 1.1.2

这是我的代码:

到目前为止,一切都很好。我只对数据框的列进行排序

在此之后,我将每一行转换为这种键值格式(rowKey,(colfam,colname,colvalue))

不,这是问题发生的时候。我尝试将 tdd 的每一行映射成一对 (ImmutableBytesWritable, KeyValue)

它呈现此堆栈跟踪:

这似乎是一个scala问题。有没有人遇到过同样的问题?如果是这样,您是如何克服这一点的?

PS:我正在使用通过 spark-shell 运行此代码。

0 投票
1 回答
319 浏览

hbase - Hbase 定期批量加载 HFiles 和次要压缩关系

我有一个场景,我们必须定期将 HFiles 加载到 HBase 表中。

每次运行的 HFile 大小可以在每个区域 50 到 150 MB 之间。这些负载可能是每天 12 次,在某些情况下可能是每 15 分钟一次。

在进行测试时,我观察到即使在区域中立即拥有超过 3 个文件后,Minor 压缩也不会被触发。这可能会导致问题有很多文件持有相同行键的行。

我已经看到在 10000 秒(大约 2 小时 45 分钟)后唤醒的压缩线程正在开始压缩并将压缩任务放入队列中。

是否有任何配置可以告诉在批量加载(completebulkload)写入 3 个或更多 hFile 时触发次要压缩,而不管 HFile 的大小?

Hbase 版本:HBase 1.1.2.2.6.5.4-1

0 投票
4 回答
633 浏览

c++ - 基本 ODR 违规:.h 文件中的成员函数

免责声明:这可能是一个基本问题,但我是一名理论物理学家,通过训练试图学习正确编码,所以请多多包涵。

假设我想为一个相当复杂的物理系统建模。在我的理解中,对这个系统进行建模的一种方法是将它作为一个类来引入。但是,由于涉及到系统,类会很大,可能包含许多数据成员、成员函数和子类。将主程序和此类放在一个文件中会非常混乱,因此为了更好地了解项目,我倾向于将类放在单独的 .h 文件中。这样我就会有类似的东西:

然而,这相当于我的新编译器中的以下编译器警告:function definitions in header files can lead to ODR violations. 那么我的问题是:处理这种情况的首选方法是什么?我想我可以将 tmp.h 变成 tmp.cpp,但据我所知,这是 .h 文件的预期用途吗?