问题标签 [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.
hbase - HBase FileInfo 块
在所有 HBase 文章和书籍中,它都提到了以下关于 HFiles 中的 Meta 和 FileInfo 块:-
“元数据块的设计目的是保存大量数据,其键为字符串,而 FileInfo 是一个简单的映射,首选用于键和值都是字节数组的小信息。”或“元数据块很昂贵。填充一个有一堆序列化数据,而不是为每个元数据实例做一个元数据块。如果元数据很小,请考虑添加到文件信息“
我想了解它为什么这么说。什么是设计逻辑,因为大数据应该保存在 Meta 中,而小数据应该保存在FileInfo
.
我想知道这一点的原因是我们在项目的FileInfo中存储了一些信息。然而,随着时间的推移,我们存储的信息开始增长,我们现在在 FileInfo 中拥有多达 15-20MB 的数据。从上面的文字看来,我们不应该这样做。但我们甚至不知道它对我们的系统造成了什么影响(如果有的话)。
有人可以对此有所了解。我查看了HFile
和FileInfo
代码,找不到任何明显的原因。
apache-spark - Spark - 为具有多列的一个 rowKey 创建 HFile
以上是我的代码,它仅适用于行键的单列。有什么想法可以为一个行键创建一个包含多列的 HFile?
hadoop - 使用 LoadIncrementalHFiles 和子目录批量加载
我编写了一个 Spark 应用程序,该应用程序生成 HFile,以便稍后使用该LoadIncrementalHFiles
命令进行批量加载。由于源数据池非常大,输入文件被拆分为一个接一个地处理的迭代。每次迭代都会创建自己的HFile
目录,因此我的 HDFS 结构如下所示:
该map_data
目录中大约有 500 个文件,因此我正在寻找一种自动调用该LoadIncrementalHFiles
函数的方法,以便在以后的迭代中也处理这些子目录。
相应的命令是这样的:
我需要将其更改为迭代命令,因为此命令不适用于子目录(当我使用/user/myuser/map_data
目录调用它时)!
我尝试使用 JavaProcess
实例自动执行上面的命令,但这并没有做任何事情(没有输出到控制台,也没有更多的行在我的 HBase 表中)。
从我的代码中使用org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles
Java 类也不起作用,它也没有响应!
有没有人适合我的例子?或者是否有一个参数可以hbase
在父目录上运行上述命令?我在 Hortonworks Data Platform 2.5 集群中使用 HBase 1.1.2。
编辑我尝试LoadIncrementalHFiles
从 Hadoop 客户端 Java 应用程序运行命令,但我遇到了与 snappy 压缩相关的异常,请参阅从 Java 客户端运行 LoadIncrementalHFiles
hadoop - 从 Java 客户端运行 LoadIncrementalHFiles
我想hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /user/myuser/map_data/hfiles mytable
从我的 Java 客户端代码中调用方法。
当我运行应用程序时,出现以下异常:
在我的 Hadoop 服务器上从控制台运行hbase ...
上面的命令效果很好。但是,当我尝试使用 HBase /Hadoop 客户端库从我的 Java 代码运行这些时,它会失败并出现异常!
这是一个代码片段:
我需要向我的项目添加依赖项吗?但是如何/在哪里/哪个版本?
我正在使用包含 HBase 1.1.2 和 Hadoop 2.7.3 的 HDP 2.5
c - 使用依赖项、h 和 h0 文件编译 c 程序
我正在尝试将 gjh 求解器(用 C 编写)编译成 Windows 中的可执行文件。它在 netlib上可用
我下载了 c 文件,并在 Windows 的命令提示符下通过 WinGW 使用 gcc 编译器。尝试直接编译 gjh.c 文件给了我一个错误,上面写着:
我假设编译gjh.c
需要依赖getstub.h
。
getstub.h
不是唯一需要的依赖项,还有其他依赖项,即:arith.h
、asl.h
、funcadd.h
和stdio1.h
. 所有这些文件都可以在我找到的同一个链接上找到getstub.h
。但是,arith.h0
和stdio1.h0
可以代替arith.h
and stdio1.h
。
这些文件是一样的吗?我尝试将 .h0 文件重命名为 .h 并尝试编译gjh.c
,但出现此错误:
collect2.exe:错误:ld 返回 1 退出状态
两个文件一样吗?如果没有,我有什么办法可以将 gjh 求解器成功编译成 .exe?
c++ - 编译 h 文件并不总是显示错误
如果我在第 1 行有错误,并且我注释掉了整个 H 文件,它并不总是......更新?
它似乎正在编译 .h 文件的过去版本,但如果我故意在 main.cpp 文件中放入错误,那么它会意识到 h 文件中有错误。此外,它有时会显示仅在 h 文件中的错误,但如果是经过一段时间后,则会显示 idk
我只是尝试将我的代码放在附加到标题的 cpp 文件中,但问题是我见过的最丑陋的错误,我宁愿它都留在标题中,因为它只会像15行代码。
这是我正在使用的makefile,以防有一些奇怪的事情导致延迟..但我之前只使用原始的“g++ *.h *.cpp”命令就遇到了这个问题,所以这可能不是问题. 我已经为这个问题苦苦挣扎了很长时间,因此不得不将我的最后一个硬件任务全部放在一个文件中
java - 基于特定 HFile(s) 作为根的 HBase 扫描
是否有任何具有以下行为的扫描/过滤 API?
给定时间范围,我希望扫描仪包含 HFiles 超出范围的数据,用于 HFiles 中包含的行键在范围内。这个想法是扫描所有 HFile 的内存索引,但只从磁盘中获取范围内 HFile 中的行键的数据。
例如,如果HFile1
在范围内并且HFile2
超出范围,并且rowkey1
有任何数据HFile1
,我也想获取rowkey1
from的所有列HFile2
,就好像它在范围内一样。另一方面,如果rowkey2
包含在HFile2
但不包含在HFile1
,索引扫描器应该只是跳到下一个行键。
用例是加载在过去 X 小时内修改过的整行(即使仅在一列上),避免完全扫描或冗余数据的任何磁盘扫描。这将被集成到 Spark/MR 应用程序中,可能基于 TableSnapshotInputFormat,所以我想我可以为 HRegion、HStore 或其他任何东西提供一些自定义代码,如果涉及到这个。
非常感谢
c - 使用c创建h文件
我有一个定义了 typedef 结构的源文件:
我需要编写头文件,.h 文件。但我不断得到
为避免此错误,请帮助我编写 .h 文件。
c - 在c中链接文件(...的多个定义)
我试图在 c 中链接一些文件并且我得到这个错误:“createStudentList 的多重定义”
我的 main.c:
学生.h:
学生.c:
hbase - Hbase 是否为每个 column-family 或 columnFamily:Column 创建一个 HFile?
我试图了解关于逻辑数据模型与物理数据存储的 Hbase 架构。我对 HFile 的创建有点困惑。如果我们有一个包含 2 列的列族,Hbase 是创建 2 个 HFile 还是只创建一个?
下面是我正在查看的图表,下面的示例显示了每个 cf:col 的逻辑到物理映射。请帮我解决这个困惑