草庐IT

HDFS-HAWQ

全部标签

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。

Hadoop hdfs 与 ext3

我在网上读到ext3文件系统适合运行hadoop。(http://wiki.apache.org/hadoop/DiskSetup见页尾)那为什么我们需要hdfs我假设hdfs是一个文件系统,ext3是另一种类型的文件系统请告诉我ext3和hdfs在hadoop中是如何工作的?谢谢。 最佳答案 HDFS是分布式文件系统,这意味着文件被分成更小的部分,这些部分存储在不同的节点/服务器上。特定节点/服务器可以使用ext3文件系统,这意味着HDFS文件部分以ext3物理存储在磁盘上。 关于Ha

python - 在 python 中运行 hdfs dfsadmin 命令

看着snakebite,它是一个很棒的python包,用于运行hadoopfs命令集我需要从python中运行hadoopdfsadmin命令集。编写需要运行命令的工具,例如hadoopdfsadmin-report和hadoopdfsadmin-refreshNodes那么,对于所有在hadoop操作任务上编写工具的优秀python开发人员,运行这些命令集的推荐方法是什么?脱壳很贵,有没有其他推荐的方法/建议? 最佳答案 您可以使用hdfsthrift库。我不确定图书馆有多完整,但这里有一些链接。最好的选择是为Python引用Cl

hadoop - 与本地文件系统相比,序列文件是否有助于提高 HDFS 的读取性能?

我想比较HDFS和本地文件系统对1000个小文件(1-2mb)的性能。在不使用序列文件的情况下,与本地文件系统相比,HDFS读取1000个文件所花费的时间几乎是其两倍。我听说这里有序列文件-SmallFilesProbleminHDFS我想为HDFS显示比本地FS更好的响应时间来检索这些记录。序列文件会有帮助还是我应该寻找其他东西?(可能是HBase)编辑:我正在使用Java程序读取此处的文件HDFSReadthoughJava 最佳答案 是的,对于简单的文件检索,抓取单个序列文件比抓取1000个文件要快得多。从HDFS读取时,您会

hadoop - Flume: kafka channel 和 hdfs sink get unable to deliver event 错误

我想尝试这个新的Flafka流程:只使用kafkachannel将数据传输到hdfssink。我从更容易监控的kafkachannel和记录器接收器中尝试了它。我的配置文件是:#Namethecomponentsonthisagenta1.sinks=sink1a1.channels=channel1a1.channels.channel1.type=org.apache.flume.channel.kafka.KafkaChannela1.channels.channel1.brokerList=localhost:9093,localhost:9094a1.channels.cha

java - 如何使用 java 从 hdfs 读取多个文件?

我一直在研究Hadoop,现在我正试图找出一种从目录中读取多个文件的方法。当我读取文件时,下面的代码工作正常。从hdfs读取多个文件并从每个文件读取每一行的最佳方法是什么。try{Pathpt=newPath("hdfs://profile/generate/work/output/errors.txt");FileSystemfs=FileSystem.get(job.getConfiguration());BufferedReaderbr=newBufferedReader(newInputStreamReader(fs.open(pt)));Stringline;line=br.

hadoop - 如何通过集群中的oozie工作流将文本文件加载到hdfs

我正在尝试使用oozie在配置单元脚本中加载文本/csv文件并每天安排它。文本文件在本地unix文件系统中。在oozie工作流中执行配置单元脚本之前,我需要将这些文本文件放入hdfs。在实时集群中,我们不知道作业将在哪个节点上运行。它会在集群中的任何一个节点上随机运行。谁能给我解决方案提前致谢。 最佳答案 不确定我明白你想做什么。在我看来,它行不通:Oozie服务器只能访问HDFS文件(与Hive相同)您的数据在某处的本地文件系统上那么为什么不事先将文件加载到HDFS中呢?可以在文件可用时(上游作业中的后处理操作)或在固定时间(使用

hadoop - 是否可以使用 C# 应用程序连接 Ubuntu HDFS

我在Ubuntu环境中有HDFS,是否可以使用C#应用程序(Windows操作系统)连接UbuntuHDFS。所有系统都通过局域网连接。我想从HDFS读取简单的CSV文件。我想知道这是否可能。 最佳答案 如果您使用的是HortonworksAzureHDInsight,则可以直接使用C#访问HDFS。在您的情况下,您正在尝试从Windows操作系统读取。请尝试使用webhdfs。但它需要配置。详情请查看以下网址。网址:http://hadoop.apache.org/docs/r2.4.1/hadoop-hdfs-httpfs/

使用子进程 hdfs "cat: Illegal file pattern: Illegal character range near index 11"打开 Python HDFS 文件

我正在尝试加载存储在HDFS中的Hadoop集群上的informatica日志文件。我在Python中使用subprocess来执行此操作,但相信由于文件名而出现错误,我不确定如何解决它。我得到的错误是“cat:非法文件模式:索引11附近的非法字符范围”我的代码是:input=subprocess.Popen(["hadoop","fs","-cat",'/corp_staffs/IT/IICOE/process/infa_stats/WorkflowLogs/infra.[08-04-2015-(15_19)].1438719569664.log'],stdout=subproces