草庐IT

hdfs_rtp

全部标签

java - 使用 Java 在 hdfs 中写入文件

我想在HDFS中创建一个文件并在其中写入数据。我使用了这段代码:Configurationconfig=newConfiguration();FileSystemfs=FileSystem.get(config);PathfilenamePath=newPath("input.txt");try{if(fs.exists(filenamePath)){fs.delete(filenamePath,true);}FSDataOutputStreamfin=fs.create(filenamePath);fin.writeUTF("hello");fin.close();}它会创建文件,但

java - 使用 Java 在 hdfs 中写入文件

我想在HDFS中创建一个文件并在其中写入数据。我使用了这段代码:Configurationconfig=newConfiguration();FileSystemfs=FileSystem.get(config);PathfilenamePath=newPath("input.txt");try{if(fs.exists(filenamePath)){fs.delete(filenamePath,true);}FSDataOutputStreamfin=fs.create(filenamePath);fin.writeUTF("hello");fin.close();}它会创建文件,但

hadoop - 使用 Hive 向 HDFS 插入数据

假设我们有一个外部Hive表指向hdfs目录中的CSV文件。那么当使用hive在此表上插入一个新行时发生了什么:插入会导致整个表重写吗?或者完全重写数据所在的hdfsblock?或者只是将新行附加到文件末尾?更新操作的相同问题提前致谢! 最佳答案 回答您的问题,认为您正在使用插入语句而不是对文件使用INSERTOVERWRITE。不,插入将使用您插入的数据创建一个新文件不,只会插入新文件不对现有文件进行追加即使您使用INSERTINTO并插入一些文件,这些新文件也会出现并位于HDFS中的特定目录中,而不会影响现有文件。如果您正在使用

java - 如何从 Java 代码运行 Hadoop HDFS 命令

我是Hadoop新手!如何从Java代码运行一些hdfs命令?我一直在直接从clouderavm的终端使用java代码和hdfs命令成功测试mapreduce,但现在我想学习如何使用java代码来完成它。我一直在寻找任何可以学习的Material,但我还没有找到。谢谢 最佳答案 我想这可能对你有帮助我用它很好地执行shell命令。这是java示例publicclassJavaRunShell{publicstaticvoidmain(String[]args){try{Stringshpath="yourcommand";Proce

oracle - 使用 NIFI 将时间戳字段从 Oracle 提取到 HDFS

我正在尝试使用Nifi将一个表从Oracle插入到HDFS。Oracle中的源表有一个名为sd_timestamp的timestamp(6)数据类型字段。Nifi有以下处理器:查询数据库:这会查询Oracle数据库。隐蔽AVROS架构:这个有输入和输出模式。输入和输出模式都将sd_timestamp数据类型作为字符串。转换成兽人将HDFS:在Hive中创建的表的数据类型也为sd_timestamp的字符串。当摄取完成并且我从目标配置单元表中执行select*时,我得到oracle.sql.timestamp@23aff4作为值而不是时间戳。请帮忙。 最佳答案

java - 我应该如何从我的桌面访问我的 hdfs 文件系统

我想运行mapreduce作业的jar文件。我的输入和输出文件在hdfs中。我的WordCountJob.jar文件在桌面上。输入文件(在hdfs内):/rucha/input/sample.txt输出文件(hdfs内):/rucha/output/resulthadoopjarWordCountJob.jar/usr/local/hadoop/input/usr/local/Cellar/hadoop/output/result那么运行这个从hdfs获取输入并将结果存储在hdfs中的jar文件的命令是什么。 最佳答案 您需要修改命

hadoop - hdfs jmxget 与 hdfs fsck

我有2个名称节点和几个数据节点,但今天我刚刚看到我有一些损坏的block。尴尬的是:hdfsjmxget-servernamenode02-port8006|grepCorruptBlocksCorruptBlocks=27当我用hdfsfsck/检查时,我有:Totalsize:734930879995888B(Totalopenfilessize:537967073B)Totaldirs:1501316Totalfiles:113743394Totalsymlinks:0(Filescurrentlybeingwritten:137)Totalblocks(validated):1

python - 使用 Spark-DataFrame 将 HDFS 保存到 MongoDB

我正在尝试使用PyMongo连接器保存Spark-DataFrame。以下是我的代码,但每次运行代码时都会出现错误:java.io.IOException:NoFileSystemforscheme:mongodb以下是我的代码:importpymongoimportpymongo_sparkpymongo_spark.activate()frompysparkimportSparkContext,SparkConffrompyspark.sqlimportSQLContextconf=SparkConf()sc=SparkContext(conf=conf)sqlContext=SQ

java - HDFS - 加载大量文件

出于测试目的,我尝试将大量小文件加载到HDFS中。实际上,我们谈论的是100万(1'000'000)个大小从1KB到100KB不等的文件。我在一个文件夹中的Linux系统上使用R脚本生成了这些文件。每个文件都有一个信息结构,其中包含带有产品信息的标题和带有数字信息的不同数量的列。问题是当我尝试使用命令将这些本地文件上传到HDFS时:hdfsdfs-copyFromLocal/home/user/Documents/smallData/然后我得到以下Java-Heap-Size错误之一:Exceptioninthread"main"java.lang.OutOfMemoryError:J

java - 如何测试 HDFS I/O 吞吐量

我有一个Java程序,它使用HDFS数据输入/输出流读取文件并将内容写入新文件。我的目标是找出我的HDFS的I/O吞吐量。下面是执行读/写和计时的代码片段:longstart=System.currentTimeMillis();FSDataInputStreamin=fs.open(newPath(input));FSDataOutputStreamout=fs.create(newPath(output),true);while((bytesRead=in.read(buffer))>0){out.write(buffer,0,bytesRead);data+=bytesRead;