草庐IT

hadoop - Hive 为 HDFS 中的每个插入创建多个小文件

下面已经实现了KafkaProducer使用SparkStreaming从Twitter中提取数据。KafkaConsumer将数据提取到Hive外部表(在HDFS上)。虽然到目前为止一切正常。我只面临一个问题,当我的应用程序将数据插入Hive表时,它创建了一个小文件,每个文件的每一行数据。下面是代码//Definewhichtopicstoreadfromvaltopic="topic_twitter"valgroupId="group-1"valconsumer=KafkaConsumer(topic,groupId,"localhost:2181")//CreateSparkCo

java - 如何在 Hadoop 文件系统中获取绝对路径?

我想获取HDFS文件系统中目录及其子目录中所有文件的列表。这是我为了递归读取目录中的所有文件而编写的方法:defgetAllFiles(dir:Path,fs:FileSystem,recursive:Boolean=true):Seq[Path]={valiter=fs.listFiles(dir,recursive)valfiles=newListBuffer[Path]()while(iter.hasNext()){valp=iter.next().getPathfiles.append(p)}files}结果是我需要在后续步骤中处理的org.apache.hadoop.fs.P

hadoop - Flink 在 HDFS 上写入产生空文件

我有一个flink作业,它使用TextOutputFormat将数据写入目标。代码是这样的:StringbasePath="/Users/me/out";//StringbasePath="hdfs://10.199.200.204:9000/data";//ensurewehaveaformatforthis.TextOutputFormatformat=newTextOutputFormat(newPath(basePath,selection+"/"+uid));StreamingRuntimeContextcontext=(StreamingRuntimeContext)get

python - 配置 SnakeBite HDFS 客户端以使用高可用性模式

我正在使用snakebite从我的airflowdags访问HDFS的库。我的HDFS集群已升级到高可用性模式。这意味着当名称节点不是事件节点时,配置为仅指向一个名称节点的客户端将失败。我可以使用哪些策略使高可用性模式具有高可用性?我可以将snakebite客户端配置为故障转移到另一个节点吗?我可以使用某种负载均衡器将流量定向到正确的名称节点吗? 最佳答案 事实证明,Snakebite没有一个,而是两个解决这个问题的方法:AutoConfigClient,它将从hadoop配置中获取其配置,并且HAClient它需要两个名称节点。就

hadoop - 当 Name Node 在 YARN 中失败时,工作状态是什么?

当一个job在集群中运行时,如果NameNode突然挂了,那么这个job的状态是什么(failed或者killed)?如果失败意味着谁在更新作业状态?这在内部是如何工作的? 最佳答案 备用Namenode将通过故障转移过程变为事件Namenode。看看HowdoesHadoopNamenodefailoverprocessworks?YARN架构围绕着ResourceManager、NodeManager和ApplicationsMaster。作业将继续进行,而不会因名称节点故障而受到任何影响。如果以上三个进程中的任何一个失败,将根

performance - Spark 本地 vs hdfs 性能

我在同一台机器上有一个Spark集群和一个Hdfs。我已经在每台机器的本地文件系统和hdfs分布式文件系统上复制了一个大约3GB的文本文件。我有一个简单的字数统计pyspark程序。如果我提交从本地文件系统读取文件的程序,它会持续大约33秒。如果我提交从hdfs读取文件的程序,它会持续大约46秒。为什么?我期望完全相反的结果。根据sgvd的要求添加:16从1主没有特殊设置的SparkStandalone(复制因子3)版本1.5.2importsyssys.path.insert(0,'/usr/local/spark/python/')sys.path.insert(0,'/usr/l

java - 连接到 Kerberrized HDFS,java.lang.IllegalArgumentException : Failed to specify server's Kerberos principal name;

我正在尝试使用以下代码连接到Kerberizedhdfs集群,使用以下相同的代码我能够使用HBaseConfiguration访问hbaseofcourse,Configurationconfig=newConfiguration();config.set("hadoop.security.authentication","Kerberos");UserGroupInformation.setConfiguration(config);UserGroupInformationugi=null;ugi=UserGroupInformation.loginUserFromKeytabAnd

hadoop - 如何将 HBase 表以 Parquet 格式移动到 HDFS?

我必须构建一个工具,以parquet格式处理从HBase(HFiles)到HDFS的数据存储。请建议将数据从HBase表移动到Parquet表的最佳方法之一。我们必须将4亿条记录从HBase迁移到Parquet。如何实现这一目标以及移动数据的最快方式是什么?提前致谢。问候,帕迪普夏尔马。 最佳答案 请查看此项目tmalaska/HBase-ToHDFS它读取HBase表并将其写为Text、Seq、Avro或ParquetParquet的用法示例:ExportsthedatatoParquethadoopjarHBaseToHDFS.

Hadoop 名称节点 - 没有可用于匿名用户的组

我正在检查我的名称节点的日志,我发现了这个:2016-06-0403:09:28,843INFOBlockStateChange(BlockManager.java:computeReplicationWorkForBlocks(1527))-BLOCK*neededReplications=0,pendingReplications=0.2016-06-0403:09:28,960WARNsecurity.UserGroupInformation(UserGroupInformation.java:getGroupNames(1521))-Nogroupsavailableforus

hadoop - 如何使用 Snappy 压缩将文件放入 HDFS

我正在为一个客户工作,我应该将一些文件通过Snappy压缩放入HDFS。我的问题是snappy编解码器未在mapred-site.xml或hdfs-site.xml中定义不知何故,我必须优先使用hdfsput命令放置文件,并且它们应该被压缩。没有机会更改配置文件,因为它是生产机器并且其他人正在积极使用它。另一个建议的解决方案是在不压缩的情况下将文件导入HDFS,然后创建压缩的hive外部表并使用其源文件,同时删除未压缩的文件。但这还有很长的路要走,而且不能保证一定有效。任何有关使用带有某种参数的hdfsput来压缩文件的建议,我们将不胜感激。 最佳答案