草庐IT

hadoop - HBase 和 HDFS 数据分隔符?

我将HBase数据导出到HDFS。我想将Sqoop导出HDFS到MySQL。但是在使用Sqoop导出时,需要我提供HDFS数据是如何分隔的。如何检查HBase表或HDFS数据中的分隔符?编辑1:我将HBase数据导出到HDFS使用bin/hadoopjar/path/to/hbase-0.20.3.jarexportyour_table/export/your_table 最佳答案 就HBase而言,不存在任何分隔符的问题。您的数据存储在HBase表的列中。要知道HDFS文件的分隔符,您可以:使用bin/hadoopfs-cat/p

hadoop - 为什么我的 Hadoop 作业得到 Map task num = 1 ,并生成了 300 多个结果文件?

我有这样一份Hadoop工作。MR只有map,没有reduce。所以设置job.setNumReduces(0)。输入文件约300+然后我运行作业,我可以看到只有1个maptask在运行。完成它大约需要1个小时。然后我检查结果,我可以在输出文件夹中看到300多个结果文件。有什么问题吗?或者这是正确的做法?我真的希望Map应该等于输入文件的数量(而不是1)。我也不知道为什么输出文件数与输入文件数相同。hadoop作业是从oozie提交的。非常感谢您的热心帮助。新松 最佳答案 当您将reducer数量设置为0时,生成的输出对应于map任

java - Hbase 中的行数,其中一列具有特定值

我正在使用hbase将我的数据存储在hdfs中,我的表中有一个包含user_details的列族,我在其中存储用户值,例如-userdetails->userid->"ui011"userdetails->userName->"John"userdetails->emailid->"john@xyz.com"现在可以通过java和hbaseshell计算在用户名和电子邮件ID中具有特定值的行。我是hbase的新手,我们将不胜感激。 最佳答案 看看Hbase协处理器AggregationClient。AggregationClient

php - 无法启动 Hbase Thrift 服务器

我在运行Ubuntu12.04的ubuntu系统中以伪分布式模式安装了Hadoop1.2.1和Hbase0.94.8。一切正常,所有守护进程都在运行。为了使用php访问hbase,我下载并安装了thrift0.9.1。$thrift-versionThriftversion0.9.1但是当我尝试使用命令启动thrift服务器时$/usr/lib/hbase/hbase-0.94.8/bin/hbasethriftstartthrift服务器开始启动。但在某个时刻终端挂起。终端的最后几行是14/02/1915:30:48INFOmortbay.log:Loggingtoorg.slf4j

hadoop - 在配置单元中执行插入覆盖查询时出错

我使用的是hadoop1.2、hbase0.94.8和hive0.14。我正在尝试使用配置单元将数据插入到hbase表中。我已经创建了表:CREATETABLEhbase_table_emp(idint,namestring,rolestring)STOREDBY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITHSERDEPROPERTIES("hbase.columns.mapping"=":key,cf1:name,cf1:role")TBLPROPERTIES("hbase.table.name"="emp");并将数据加

hadoop - 运行时显示未找到映射器类

map0%减少0%15/02/0307:30:28INFOmapreduce.Job:任务ID:try_1422885720829_0097_m_000000_0,状态:FAILED错误:java.lang.RuntimeException:java.lang.ClassNotFoundException:找不到类org.cognizant.pr2.TroubleMapper在org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1720)在org.apache.hadoop.mapreduce.task.Jo

json - 使用 Hive 向 Hbase 中插入数据(JSON 文件)

我已经使用hive在hbase中创建了一个表:hive>CREATETABLEhbase_table_emp(idint,namestring,rolestring)STOREDBY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITHSERDEPROPERTIES("hbase.columns.mapping"=":key,cf1:name,cf1:role")TBLPROPERTIES("hbase.table.name"="emp");并创建了另一个表来加载数据:hive>createtabletestemp(idint,na

hadoop - HBase mapReduce TableOutputFormat如何使用Flush和WAL

因此,当从使用TableOutputFormat的MapReduce作业写入HBase时,它​​多久写入一次HBase。我不认为它会为每一行执行一个put命令。在MapReduce中使用时如何控制AutoFlush和WriteAheadLog(WAL)? 最佳答案 TableOutputFormat禁用AutoFlush并使用在hbase.client.write.buffer指定的写入缓冲区(默认为2MB),一旦缓冲区已满,它会自动刷新到HBase。您可以通过将属性添加到作业配置来更改它:config.set("hbase.cli

hadoop - HBase 未连接到 ZooKeeper

我正在努力让我的HBaseshell运行。它在主题行中抛出上述异常。我检查过hbase-site.xml与hadoop完美匹配。请帮忙。我挣扎了2天,有一个项目到期。我附上hadoop和hbase的两个xml文件。hbase-site.xmlhbase.rootdirhdfs://localhost:54310/hbasehbase.zookeeper.property.dataDir/home/hduser/zookeeperhbase.zookeeper.property.clientPort2222PropertyfromZooKeeper'sconfigzoo.cfg.Thep

java - 为什么HBase RowKey、ColumnKey和value是二进制值(字节),而不是String?

HBase值由4个键索引:TableName、RowKey,列键,时间戳。地点:TableName是一个字符串RowKey和ColumnKey是二进制值(Java类型byte[])Timestamp是一个64位整数(Java类型long)value是一个未解释的字节数组(Java™类型byte[])二进制数据以Base64编码以通过网络传输。为什么键和值使用字节而不是字符串存储? 最佳答案 因为您可能需要在限定符和值中存储二进制数据。例如,我们有这样的前缀限定符:'prefix[binaryint64id]'并将序列化的protob