草庐IT

hdfs_clusters

全部标签

hadoop - HDFS保存数据的格式有哪些?

创建DataFrame后,我可以将其保存为avro、csv或parquet格式。在dataframe或rdd中是否有任何其他可用格式可以将数据保存在HadoopHDFS中? 最佳答案 来自WhatIsApacheHadoop?:HadoopDistributedFileSystem(HDFS™):Adistributedfilesystemthatprovideshigh-throughputaccesstoapplicationdata.有了它,您可以使用HDFS以任何格式存储虚拟文件,包括avro、CSV、parquet等。在S

c# - 如何在 C# 中使用 Web HDFS REST API 附加文件?

我之前使用AzureDataLake上传文件,但仍想附加现有DataLake文本文件的文本文件内容。是否有任何选项可用于在C#中使用WebHDFSRESTAPI附加文本文件数据?我引用这个链接enterlinkdescriptionhere代码:我可以引用上面的链接获取附加URL。但是我如何使用此URL并使用C#追加文件?privateconststringAppendUrl="https://{0}.azuredatalakestore.net/webhdfs/v1/{1}?&op=APPEND&noredirect=true"; 最佳答案

hadoop - 外部访问部署在 Kubernetes 中的 Hadoop HDFS

目前,我已经在Kubernetes中部署了一个Hadoop集群。HDFS有三个数据节点(statefulset)和一个名称节点。我想从外部访问HDFS中的数据。因此,我创建了一个nodePort类型的服务来导出名称节点。当我尝试在HDFS中下载文件时,名称节点将我重定向到数据节点。问题是,重定向url的域是Kubernetes中的域,例如hadoop-hdfs-dn-0.hadoop-hdfs-dn.hadoop.svc.cluster.local:50075,它无法可以从外部访问。我的第一个想法是客户端自己解析域。喜欢hadoop-hdfs-dn-0.hadoop-hdfs-dn.h

hadoop - 将 HDFS 复制因子降低到 2(或仅一个)对 HBase 映射/降低性能的影响

将HDFS复制因子降低到2(或仅一个)对HBase映射/降低性能有何影响?我有一个托管在AzureVM上的HBase集群,数据存储在azure托管磁盘中。Azure托管磁盘本身保留了3个数据副本用于容错,因此考虑降低HDFS复制因子以节省存储开销。考虑到mapreduce作业利用数据的本地可用性来避免通过网络传输数据,想知道如果只有一个数据副本可用,是否有人知道任何关于mapreduce性能影响的信息? 最佳答案 这是一个很难回答的问题,因为它在很大程度上取决于您运行的工作负载。通过降低复制因子,您可以加快写入操作的性能,因为数据写

hadoop - 您可以使用 HDFS 作为主要存储吗?

将数据保存在Hadoop中并使用Spark/Hive等使用它是否可靠?使用HDFS作为主要存储有哪些优势? 最佳答案 HDFS仅与维护文件元数据的名称节点一样可靠。你最好设置NamenodeHA并经常拍摄它们的快照,并将它们从HDFS外部存储。如果所有Namenode都不可用,或者它们的元数据存储已损坏,您将无法读取HDFSdatanode数据,尽管这些文件本身很好,并且高度可用 关于hadoop-您可以使用HDFS作为主要存储吗?,我们在StackOverflow上找到一个类似的问题:

apache-spark - 在 Google dataproc HDFS 与谷歌云存储(谷歌桶)中存储源文件

我想处理~500GB的数据,分布在64个JSON文件中,每个文件包含500万条记录。基本上,Map(Pyspark)在每条300M记录上运行。为了测试我的PySparkmap功能,我设置了一个googleDataproc集群(1master5workers只测试一个JSON文件)。此处的最佳做法是什么?我应该复制主节点中的所有文件(以便在Dataproc中使用Hadoop分布式文件系统)还是将文件保存在我的GCS存储桶中并将文件位置指向我的Pyspark中是否同样有效?我的代码还导入了​​相当多的外部模块,我已将这些模块复制到我的master中,并且在master中导入工作正常。将它复

hadoop - Hadoop 3.2 HDFS 客户端能否用于与 Hadoop 2.x HDFS 节点一起工作?

我正在尝试使用Hadoop3.2客户端构建Java程序。它能与Hadoop2.x集群一起工作吗?或者,它不被支持吗?感谢您分享您的经验。 最佳答案 与Hadoop和大多数Apache许可项目的兼容性仅在次要版本号之间得到保证。因此,您不应期望3.2客户端与2.xHadoop集群一起工作。Cloudera的博客UpgradingyourclustersandworkloadsfromApacheHadoop2toApacheHadoop3SumaShivaprasad撰写的文章还提到了以下内容:CompatibilitywithHad

hadoop - 写入 HDFS : File is overwritten

我正在写入hadoop文件系统。但是每次我追加一些东西时,它都会覆盖数据而不是将其添加到现有数据/文件中。下面提供了执行此操作的代码。针对不同的数据一次又一次地调用此代码。每次打开一个新的SequenceFile.Writer都会出问题吗?每次我将路径设置为newPath("someDir");publicvoidwriteToHDFS(Pathpath,longuniqueId,Stringdata){FileSystemfs=path.getFileSystem(conf);SequenceFile.WriterinputWriter=newSequenceFile.Writer(

hadoop - 在 HDFS 文件的一部分上运行 MR 作业

假设您有一个存储在hdtf中的大文件,其中包含结构化数据。现在的目标是只处理文件中的一部分数据,就像文件中第二列值介于某某之间的所有行一样。是否可以启动MR作业,以便hdfs仅流式传输文件的相关部分,而不是将所有内容流式传输到映射器。原因是我想通过只处理我需要的部分来加快工作速度。可能一种方法是运行MR作业来创建新文件,但我想知道是否可以避免这种情况?请注意,我的目标是将数据保存在HDFS中,我不想从数据库中读取和写入数据。 最佳答案 HDFS将文件存储为block中的一堆字节,没有索引,因此无法只读入文件的一部分(至少在撰写本文时

bash - 如何让 HBase 等到 HDFS 准备好后才开始?

我正在为Hadoop构建一个自动安装脚本,我遇到了HBase无法启动的问题,因为HDFS尚未完全启动和准备就绪。我如何以编程方式(理想情况下来自Bash)判断HDFS系统是否已准备好启动HBase,以便我可以等到它启动?我尝试使用“hadoopdfsadmin-report”并搜索正确数量的节点,但显然在集群真正准备好开展业务之前,它仍会返回。 最佳答案 使用hadoopdfsadmin-safemodewait检查HDFS是否已经退出安全模式。像这样的东西应该可以解决问题:while$HADOOP_HOME/bin/hadoopd