草庐IT

hadoop-annotations

全部标签

hadoop - 边缘节点 hortonworks 使用

我有一个配置了HA的6节点(2个主节点+4个从节点)生产集群。实际拓扑是:大师1:活跃的HBase大师hive元存储HiveServer2HST服务器诺克斯网关事件NameNodeOozie服务器事件资源管理器WebHCat服务器动物园管理员服务器HST代理期刊节点指标监控大师2:应用时间线服务器备用HBaseMaster历史服务器InfraSolr实例指标收集器格拉法纳备用NameNode备用资源管理器Spark2历史服务器飞艇笔记本动物园管理员服务器HST代理期刊节点指标监控客户奴隶1/2/3:数据节点区域服务器HST代理节点管理器指标监控其中一个从节点包含:JournalNode

hadoop - 将文本加载到 Orc 文件

如何将文本文件加载到Hiveorc外部表中?createtableMyDB.TEST(Col1String,Col2String,Col3String,Col4String)STOREDASINPUTFORMAT'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat';我已经用Orc创建了上面的表格。但是从表中获取数据时显示以下错误异常失败java.io.IOException:org.apache.orc.FileFor

java - Hadoop MapReduce 在 reducer 中访问 mapper 输出数

我有一个映射器,它输出句子中的每个字母,这是键,数字1作为它的值。例如,我的映射器将“你好吗”输出为H1o1w1a1r1e1y1o1u1我的reducer接受它并使用1来计算每个字母的出现次数。例如,它会输出字母“o”作为键,输出2作为它的值,因为它出现了两次。我的问题是我想计算每个字母在句子中出现的频率。为此,我需要访问句子中字母的总数(映射器输出的数量)。我是mapreduce的新手,所以我不确定最好的方法。 最佳答案 假设您的映射器正在获取一个完整的句子,您试图在其中找到频率并且您正在使用JavaAPI,您可以通过contex

hadoop - 如何在 impala 或 hive 上读取复杂类型数组 <string>?

我尝试读取hive上的复杂类型dog.owners(array)使用以下查询selectdog_id,concat_ws(',',collect_set(owners))asownersfromdoggroupbydog_id但我收到以下错误Argument2offunctionCONCAT_WSmustbe"stringorarray",but"array>"wasfound.看起来数据类型不匹配。我试图将列所有者创建为array>但我仍然遇到同样的错误。有没有办法阅读关于hive或黑斑羚的专栏? 最佳答案 selectdog_i

hadoop - Docker SSH 连接到运行中的本地主机权限被拒绝(公钥、密码、键盘交互)

我正在为单节点hadoop容器构建一个docker容器,我在为hadoop用户设置无密码ssh登录时遇到问题(我没有使用root来运行hadoop服务)。我一直在互联网上搜索可能的修复方法,authorized_keys、/.ssh等权限看起来都不错。以下是调试日志的相关部分:debug3:authmethod_is_enabledpublickeydebug1:Nextauthenticationmethod:publickeydebug1:OfferingRSApublickey:/home/hdadmin/.ssh/id_rsadebug3:send_pubkey_testdeb

hadoop - 无法有效映射 HIVe 表中的 HBase 行键

我有一个HBase表,其中的行键如下所示。08:516485815:2013106:260070837:2014100:338289200:20141我使用以下查询创建一个Hive链接表。createexternaltablehb(keystring,valuestring)storedby'org.apache.hadoop.hive.hbase.HBaseStorageHandler'withserdeproperties("hbase.columns.mapping"=":key,e:-1")tblproperties("hbase.table.name"="hbaseTable

hadoop - Hive 2.3.2 Local模式找不到Hadoop安装

根据我一直在阅读的内容,您可以在没有Hadoop或HDFS的情况下运行Hive(例如在使用Spark或Tez的情况下),即通过设置fs.default.name在本地模式下和hive.metastore.warehouse.dir到本地路径。但是,当我这样做时,出现错误:StartingHivemetastoreservice.Cannotfindhadoopinstallation:$HADOOP_HOMEor$HADOOP_PREFIXmustbesetorhadoopmustbeinthepath我的hive-site.xml文件:mapred.job.trackerlocalh

java - 如果 hadoop mapreduce 中至少有一个拆分失败,如何停止处理其他拆分或文件本身

我有一个很大的CSV文件,比如2GB(或者说10k行)要使用map-reduce进行处理。知道每个block是128MB,我有16个block,因此有16个拆分。因为它是一个文本文件,所以我可以让多个映射器同时处理文件的不同部分(不同的拆分)。映射器计数默认为4,因此并行处理文件的4个部分要求是,如果至少有一次拆分失败,我不想进一步处理文件,或者不想将文件内容写入输出文件夹。也就是说,如果CSV的至少一行导致错误,我不希望该文件被进一步处理,也不需要它的输出。(这是因为我可以纠正错误并重新运行它)我该怎么做?我扩展了FileInputFormat以覆盖isSplittable方法并返回

azure - 尼菲 java.lang.NoSuchMethodError : org. apache.hadoop.conf.Configuration.reloadExistingConfigurations

我正在点击此链接以设置NifiputHDFS以写入AzureDataLake。ConnectingtoAzureDataLakefromaNiFidataflowNifi在HDF3.1VM中,Nifi版本为1.5。我们从一个HDInsight(v3.6,whichsupportshadoop2.7)headnode得到了上面链接中提到的jar文件,这些jar文件是:adls2-oauth2-token-provider-1.0.jarazure-data-lake-store-sdk-2.1.4.jarhadoop-azure-datalake.jarjackson-core-2.2.

hadoop - 如何使用 ORC 存储 Hive 表以进行复杂查询?

也许这个问题太笼统了,但我认为值得一试。我正在处理一个包含270个字段的表。它按日期分区(如dt=20180101)。然而,当我们用查询访问这个表时,我们实际上是在进行全表扫描,因为我们在where子句中使用了不是dt的字段。我想知道为该表启用分桶的正确方法是什么。我可以选择其中一个where子句字段并为此启用分桶。例如:PARTITIONEDBY(dtINT)CLUSTEREDBY(class)INTO16BUCKETS另一种方法是使用多个字段进行分桶:PARTITIONEDBY(dtINT)CLUSTEREDBY(class,other_field,other_field_2)IN