草庐IT

hdfs_rtp

全部标签

hadoop - 用于查询 HDFS 上的数据的纯 spark 与 spark SQL

我在hdfs集群上有(表格)数据,需要对其进行一些稍微复杂的查询。我预计将来会用其他数据多次面对同样的情况。所以,问题:在执行此类任务时选择在何处使用(纯)Spark以及在何处使用Spark-SQL时要考虑哪些因素?以下是我能想到的选择因素:熟悉语言:在我的例子中,我更像是一个数据分析师而不是一个数据库专家,所以这会导致我使用spark:与在SQL中相比,我更愿意思考如何(有效地)在Java/Scala中实现数据选择。然而,这主要取决于查询。序列化:我认为无需将自制的jar+dep发送给sparkworker(?)就可以运行Spark-SQL查询。但是,返回的数据是原始数据,应该在本地

java - 在映射器中运行 hdfs -text 命令并使用输出

有没有办法在映射器中运行hadoop命令?例如我要运行hdfsdfs-text/path/to/file我会将该输出用于我的映射器逻辑。或者有其他选择吗?例如运行命令hdfsdfs-text/path/to/file作为Java的子进程 最佳答案 更好的是使用JavaHDFSAPI打开HDFS文件并将内容读入您可以使用的变量。例如:InputStreamis=FileSystem.get(yourConfigurationObject).open(newPath("/path/to/file"));

apache - 无法将数据从水槽提取到 hdfs hadoop 以获取日志

我正在使用以下配置将数据从日志文件推送到hdfs。agent.channels.memory-channel.type=memoryagent.channels.memory-channel.capacity=5000agent.sources.tail-source.type=execagent.sources.tail-source.command=tail-F/home/training/Downloads/log.txtagent.sources.tail-source.channels=memory-channelagent.sinks.log-sink.channel=me

hadoop - 如何使文件在 hdfs 中不可删除?

我有一个要求,即我想让进入hdfs的文件不可删除。是否有任何选项可以做到这一点?实际上在linux中,我们有一个命令chattr来使文件不可变/undeletable以便在root删除该不可变标志(chattr+i)之前没有人可以删除该文件,hadoop中是否有任何此类设施?。任何建议表示赞赏。提前致谢。 最佳答案 我不相信有任何等同于chattr的东西。如果你的主要目的是阻止人们错误地这样做,将所有者更改为hdfs(Hadooproot),并设置它以便只有root可以通过文件权限删除它。但是默认情况下,任何人都可以通过命令行以ro

eclipse - 为什么 org.apache.hadoop.hdfs.protocol.proto 在 HADOOP SVN 中为空

我目前正在学习hadoop2.5。为了修改hdfs的某些部分,我从Hdfsresposity查看了HDFS项目。,但是在导入到eclipse之后,编译器找不到包“org.apache.hadoop.hdfs.protocol.proto”。这个包在SVN里面也是空的。有什么解决办法吗? 最佳答案 请按照BUILDING.txt中描述的构建过程进行操作.您缺少的文件夹是在通常的maven构建过程中生成的protobuf文件。 关于eclipse-为什么org.apache.hadoop.h

hadoop - 水槽 :Exec source cat command is not writing on HDFS

我正在尝试使用Flume-ng将数据写入Hdfs作为exec源。但它总是以退出代码127结束。它还显示类似警告无法从VM获取maxDirectMemory:NoSuchMethodException:sun.misc.VM.maxDirectMemory(null)。这是exec.conf文件execAgent.sources=eexecAgent.channels=memchannelexecAgent.sinks=HDFSexecAgent.sources.e.type=org.apache.flume.source.ExecSourceexecAgent.sources.e.ch

python - 使用Python获取hdfs中文件的文件名和扩展名

在Python中是否有等效的os模块来读取文件系统(hadoop2.6)?我特别感兴趣的是获取文件的扩展名和基本名称(不包括完整路径)。 最佳答案 不需要“等效”,os.path.basename与hdfs完全相同。即:importos.pathaspathprintpath.basename("/path/to/file.txt")#file.txtos.path—Commonpathnamemanipulations 关于python-使用Python获取hdfs中文件的文件名和扩展

hadoop - 将 hive 表写入 HDFS 文件时删除空格和 UTF

我正在尝试使用以下查询将配置单元表写入hdfs文件insertoverwritedirectory''selectcustomerid,'\t',f1,',',f2,',',f3,',',f4,',',f5fromsd_cust_product_recomm_all_emailid_model2WHEREEMAILIDISNOTNULL;我正在获取文件中的UTF和空格。输出是这样的:customer1\t^Af1^A,^Af2^A,^Af3^A,^Af4^A,^Af5^A,我想要以下格式的输出customer1/tf1,f2,f3,f4,f5customer2/tf1,f2,f3,f4

hadoop - 为什么 hbase 即使存在 hdfs

为什么hadoop使用hbase,即使hdfs可用于存储?我们还可以将表数据作为block存储在hdfs中。数据存储在hbase中吗?如果是这样,那么hdfs的作用是什么? 最佳答案 HDFS是一种分布式文件系统,非常适合存储大文件。它旨在支持数据的批处理,但不提供快速的单个记录查找。HBase建立在HDFS之上,实际上数据存储在HDFS上,旨在提供对大型表中单行数据的访问。总的来说,HDFS和HBase的区别是HDFS——IssuitedforHighLatencyoperationsbatchprocessingDataispr

hadoop - 将数据迁移到 HDFS 中已有数据的新数据格式

将csv数据从外部源导入HDFS并以特定格式存储的过程和工具是众所周知的;然而,如何为HDFS中已经存在的数据转换数据格式?我在HDFS上使用Json格式/未压缩的现有数据集(~多TB)。如何将集群上的数据转换为同一集群上的Parquet,同时最大限度地减少集群资源?选项:临时换一个同样大小的cluster,转换的时候把数据全部搬过来,再搬回来?临时在现有集群上添加额外的节点?如何确保它们仅用于此迁移???谢谢,马特 最佳答案 您可以使用ParquetOutputFormat类编写java代码将现有的csv文件转换为parquet。