草庐IT

hdfs_sink

全部标签

使用 HDFS 在 RAM 中缓存

我需要用一个小集群(约10台服务器)处理一些大文件(约2TB),以便生成相对较小的报告(约GB)。我只关心最终报告,而不关心中间结果,而且机器有大量RAM,所以使用它来尽可能减少磁盘访问(从而提高速度)会很棒,理想情况下仅在使用磁盘时将数据block存储在volatile内存中。查看配置文件和previousquestionHadoop似乎没有提供此功能。星火官网talksaboutamemory_and_disk选项,但我更愿意要求公司部署基于新语言的新软件。我找到的唯一“解决方案”是在hdfs-default.xml中将dfs.datanode.data.dir设置为/dev/sh

python - 从 Hadoop mapreduce 作业打开 HDFS 上的文件

通常,我可以用这样的东西打开一个新文件:aDict={}withopen('WordLists/positive_words.txt','r')asf:aDict['positive']={line.strip()forlineinf}withopen('WordLists/negative_words.txt','r')asf:aDict['negative']={line.strip()forlineinf}这将打开WordLists文件夹中的两个相关文本文件,并将每一行作为正面或负面附加到词典中。但是,当我想在Hadoop中运行mapreduce作业时,我认为这行不通。我正在这样

hadoop - 删除托管(非外部)表时,不会删除 hdfs 上的配置单元文件

当我从Hive交互式命令行删除托管表时,在/user/hive/warehouse/.db中的hdfs上创建的基础文件仍然存在。当我重新创建具有相同名称的表并尝试执行此操作时,这会导致问题INSERTINTOTABLE因为它仍然包含我在最初运行时加载到这些分区(在我的例子中是dt和hr分区)的数据。只有当我使用INSERTOVERWRITETABLE它最终会正确加载数据吗,但我的ETL需要使用INSERTINTOTABLE.有什么想法吗?我正准备创建同一个表但名称不同,或者只是进入并删除hdfs上的内容,但我担心这是否会破坏Metastore或其他东西。最后,我确信它是一个托管表而不是

hadoop - HDFS短路读

根据documentation,短路读取速度更快,因为它们不通过数据节点。如果是这样的话,那么为什么默认情况下不启用此功能?我们在哪些场景下需要短路读取? 最佳答案 看看这篇文章:http://blog.cloudera.com/blog/2013/08/how-improved-short-circuit-local-reads-bring-better-performance-and-security-to-hadoop/文章摘要:原始实现的一个主要缺点是它搞砸了安全隐患。它必须为客户提供对数据文件的直接读取权限。我猜这对启用了

hadoop - 配置单元 : How to execute a query from a file and dump the output in hdfs

我可以从sql文件执行查询并将输出存储在本地文件中使用hive-f/home/Prashasti/test.sql>/home/Prashasti/output.csv此外,我可以使用以下方法将配置单元查询的输出存储在hdfs中:insertoverwritedirectory'user/output'select*fromfolders;有什么方法可以从sql文件运行查询并将输出也存储在hdfs中吗? 最佳答案 只需要修改sql文件,将insertoverwritedirectory'user/output'添加到查询的前面。

hadoop - HDFS 容量 : how to read "dfsadmin report"

我正在使用Hadoop2.6.0。当我运行“hdfsdfsadmin-report”时,我得到了这样的东西(简化):ConfiguredCapacity:3TBPresentCapacity:400GBDFSRemaining:300GBDFSUsed:100GB我想知道“配置容量”是什么,“当前容量”是什么。看起来“PresentCapacity”是有效的。我怎样才能增加这个? 最佳答案 配置容量是用于数据目录的磁盘/卷的总可用容量。例如:我在/Hadoop/sdb1、/Hadoop/sdc1、/Hadoop/sdd1上安装了三个

datetime - hdfs 文件时间戳

我想获取hdfs上文件的最后修改时间。我检查了HDFSshell指南,但没有得到任何可用的相关命令。Hadoop版本为2.4.0。谁能建议我如何获取hdfs文件的last_modification时间?提前致谢 最佳答案 您可以从hadoopls命令检索时间戳并使用awk解析它。文件/目录时间戳有模式。对于文件,它是permissionsnumber_of_replicasuseridgroupidfilesizemodification_datemodification_timefilename它是目录permissionsuse

hadoop - Spark 工作负载是否需要 HDFS?

HDFS不是必需的,但建议出现在某些地方。为了帮助评估让HDFS运行所花费的努力:将HDFS用于Spark工作负载有哪些好处? 最佳答案 Spark是分布式处理引擎,HDFS是分布式存储系统。如果HDFS不是一个选项,那么Spark必须使用ApacheCassandra或AmazonS3形式的其他替代方案。看看这个comparisionS3–非紧急批处理作业。当数据局部性不重要时,S3适合非常具体的用例。Cassandra–非常适合流数据分析和批处理作业。HDFS–非常适合批处理作业,不会影响数据局部性。什么时候使用HDFS作为Sp

hadoop - 在 HDFS 中遇到大量文件时,实际理想的 NameNode 内存大小是多少

我的HDFS集群中将有2亿个文件,我们知道每个文件将在NameNode内存中占用150个字节,加上3个block,因此在NN中总共有600个字节。所以我将我的NN内存设置为250GB以很好地处理2亿个文件。我的问题是250GB这么大的内存,会不会对GC造成太大的压力?为NN创建250GB内存是否可行。Cansomeonejustsaysomething,whynobodyanswer?? 最佳答案 理想的名称节点内存大小约为数据元使用的总空间+操作系统+守护进程的大小以及处理相关数据的20-30%空间。您还应该考虑数据进入集群的速率

hadoop - 如何使用oozie检查文件是否存在于HDFS位置?

如何使用Oozie检查HDFS位置的文件是否存在?在我的HDFS位置,我会在每天晚上11点得到一个像这样的文件test_08_01_2016.csv。我想在晚上11点15分之后检查这个文件是否存在。我可以使用Oozie协调器作业安排批处理。但是我如何验证该文件是否存在于HDFS中? 最佳答案 您可以在oozie中使用EL表达式,例如:${fs:exists('/path/test_08_01_2016.csv')}您还可以使用简单的shell脚本使用捕获输出来构建文件的名称。 关于had