草庐IT

hdfs_sink

全部标签

scala - 将文件从远程服务器上运行的 Apache Zeppelin 传输到 HDFS

我有一个在远程服务器上运行的ApacheZeppelin实例,我正在使用Scala通过Spark解释器与其通信。我想将存储在该服务器目录中的csv文件传输到也在远程服务器上的HDFS(Hadoop)。我无权访问服务器上的任何配置文件,我无法安装任何东西,我只能在Zeppelin中发出命令。我试过使用标准sc.textFile("file:///test.csv")语句,但它返回以下错误:org.apache.spark.SparkException:Jobabortedduetostagefailure:Task0instage19.0failed4times,mostrecentfa

java - 如何非常快速地删除 hdfs 中包含大量文件的文件夹

我需要删除hdfs上的一个文件夹,其中包含大量文件,比如1,000,000个。这不是一次性任务,这是我每天的要求。目前我正在使用下面的代码:Configurationc=newConfiguration();FileSystemfs=FileSystem.get(c);fs.delete(folder,true);但是上面的过程花费了更多的时间,大约需要3个小时。有什么方法可以非常快速地删除整个文件夹。 最佳答案 简单的回答:你不能。让我解释一下为什么。删除文件夹时,您将删除对其中包含的所有文件(递归)的所有引用。有关这些文件(bl

hadoop - 如何减少 HDFS 目录中的复制因子及其影响

我们使用HortonworksHDP2.1(HDFS2.4),复制因子为3。我们最近停用了一个数据节点,这在集群中留下了很多复制不足的block。Cluster现在正在尝试通过在其他节点之间分配复制block来满足复制因子。如何停止该进程。我可以接受一些文件只被复制两次。如果我在该目录中将复制因子更改为2,该进程是否会终止?对于包含3个副本的文件的目录,将复制因子设置为2会产生什么影响。集群是否会启动另一个进程来删除每个文件的3个副本的多余副本?感谢您对此的帮助。也请分享引用资料。谢谢。萨吉瓦。 最佳答案 Wehaverecentl

python - 获取保存 Parquet 文件的默认 HDFS 路径

我运行了一个spark作业,最终保存了一个Parquet文件,并且该作业成功完成。但是我只指定了文件名,并没有指定HDFS的路径。有没有办法打印出spark写入文件的默认HDFS路径?我查看了sc._conf.getAll(),但那里似乎没有任何有用的东西。 最佳答案 AFAIK这是其中一种方式(除了简单的命令方式是hadoopfs-ls-R|grep-iyourfile)...下面是示例scala代码片段....(如果你想在python或java中执行它,你可以模拟相同的api调用)获取Parquet文件列表。并像下面那样过滤它们

hadoop - 从另一个运行 Spark 的 Docker 容器写入在 Docker 中运行的 HDFS

我有一个spark+jupyter的docker镜像(https://github.com/zipfian/spark-install)我有另一个hadoop的docker镜像。(https://github.com/kiwenlau/hadoop-cluster-docker)我在Ubuntu中运行来自上述2个图像的2个容器。对于第一个容器:我能够成功启动jupyter并运行python代码:importpysparksc=pyspark.sparkcontext('local[*]')rdd=sc.parallelize(range(1000))rdd.takeSample(Fal

hadoop - 如何在hadoop中显示hdfs根目录?

我使用hadoop2.8.1,根据一些引用资料(很多书籍和其他在线论坛)告诉我在哪里可以使用“hadoopfs-ls/”来查找hdfs文件系统根目录。但是当我键入该命令时,终端显示本地目录而不是hdfsroot。这有什么问题,在此先感谢。 最佳答案 如果可以执行hadoopversion命令,并且返回正确信息,说明Hadoop安装成功。我认为HDFS配置可能有问题。试试这个:在本地文件系统中找到core-site.xml文件。它应该位于/etc/hadoop/conf目录中。打开core-site.xml文件并找到此属性:fs.de

hadoop - NameNode 地址的 URI 无效,s3a 不是模式 'hdfs'

根据我的研究,我正在做一些关于在hadoop环境(yarn)中用Ceph替换HDFS的事情,来自hortonworks的指南和ReplaceHDFSformlocaldisktos3gettingerror显示我需要修改$hadoop_home/etc/hadoop下的core-site.xml。我的修改如下:fs.s3a.access.keyxxxxxxxxxxxxxxfs.s3a.secret.keyxxxxxxxxxxxxxfs.default.names3a://bucket_namefs.defaultFSs3a://bucket_namefs.s3a.endpointhtt

lucene - 打开存储在 hdfs 中的 lucene 索引

如何读取存储在HDFS上的lucene索引目录,即如何为存储在HDFS上的索引获取IndexReader。IndexReader将在maptask中打开。类似于:IndexReaderreader=IndexReader.open("hdfs/path/to/index/directory");谢谢,阿基尔 最佳答案 如果您想打开一个存储在HDFS中的Lucene索引以进行搜索,那您可就倒霉了。AFAIK,没有实现允许搜索操作的HDFS目录。出现这种情况的原因之一是因为HDFS针对大块的顺序读取进行了优化,而不是Lucene产生的小

python - Hadoop:在 Ubuntu 12.04 中通过 NameNode 格式化 HDFS 文件系统

我正在学习本教程http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/注意:是的,我知道我确实将hadoop安装到/usr/local/hadoop/hadoop/但教程没有当我运行时:hduser@ubuntu:~$/usr/local/hadoop/hadoop/bin/hadoopnamenode-format我明白了Warning:$HADOOP_HOMEisdeprecated./usr/local/hadoop/hadoop/bin/hadoop:li

events - 从 HDFS 接收文件系统事件和通知

HDFS是否提供轮询文件系统事件(如文件创建/修改/删除)的方法?此外,它是否提供/支持任何回调机制以在此类事件发生时得到通知?我没有看到这种东西的直接和详细的用例,但是有一个特定的要求来检查这个功能。我没有遇到任何提到这一点的文件。如果有任何HDFS提交者对此发表评论,那就太好了。 最佳答案 目前没有允许这样做的内置HDFS功能。解决方法是对监视目录执行客户端轮询,或手动跟踪所有记录事件的事务日志。 关于events-从HDFS接收文件系统事件和通知,我们在StackOverflow上