草庐IT

hdfs_sink

全部标签

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

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

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 - 如何使用 Snappy 压缩将文件放入 HDFS

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

scala - 是否可以在 HDFS 上持久化 RDD?

我知道RDD可以持久化/缓存在内存、磁盘或两者上,但是否也可以将其持久化到HDFS上。我面临的问题是我的集群上的内存和磁盘空间太少,而我的HDFS空间很大。 最佳答案 RDD持久化只能在工作机器(内存和磁盘)内进行。一些持久性级别在集群中的其他工作机器中复制RDD。从今天开始,为了在HDFS中持久化RDD/DataFrame,我们只能使用写入API。写入HDFS://WritingDataFramedf.write.save("hdfs://namenode_host:port/file/path");//WritingRDDrdd

scala - HDFS 文件系统的 URL

我在HDFS/user/Cloudera/Test/*中有一些数据。我可以通过运行hdfs-dfs-catTest/*很好地查看记录。现在是同一个文件,我需要在Scala中将其读取为RDD。我在scalashell中尝试了以下内容。valfile=sc.textFile("hdfs://quickstart.cloudera:8020/user/Cloudera/Test")然后我写了一些过滤器和for循环来读取单词。但是当我最后使用Println时,它说找不到文件。任何人都可以帮我知道在这种情况下HDFSurl是什么。注:我使用的是ClouderaCDH5.0VM

hadoop - 我们可以在 hdfs 中压缩目录吗?

我在想是否可以在hdfs上压缩一个目录,然后将其带到本地系统。有办法做到这一点吗?如有任何帮助,我们将不胜感激。谢谢。 最佳答案 您可以创建一个Hive表并在设置以下属性后进行插入覆盖:setmapred.output.compress=true;sethive.exec.compress.output=true;setmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;setio.compression.codecs=org.apache.

Bash脚本上传文件到hdfs

我正在尝试创建一个bashscript以将文件从本地边缘节点文件系统上传到hdfs。我想知道在文件中添加时间戳的好方法。在让时间戳工作时遇到一些问题。#!/bin/bashechoRunninguploadscripttohdfs...timestamp(){date+"%T"}hdfsdfs-put/home/myname/folder1/*/user/myname/example_1_$(timestamp).txthdfsdfs-put/home/myname/folder2/*/user/myname/example_2_$(timestamp).txt

shell - 检查 hdfs 中的文件大小

我可以使用以下命令检索hdfs文件的大小:hadoopfs-du-s/user/demouser/first/prod123.txt|cut-d''-f1给我的输出为82(以字节为单位)。现在我只想将这个文件与另一个文件合并,前提是它的大小小于100MB。我正在使用shell脚本将所有这些命令写入一个文件中。如何将其转换为MB,然后比较大小?有什么具体的命令吗? 最佳答案 只需使用:hdfsdfs-du-h/path/to/file我通过复制您的命令在我的集群上尝试了同样的操作。唯一可能的错误是您正在使用hadoopfs,只需使用h