草庐IT

UNIX-based

全部标签

unix - Unix 中的用户无法运行 hadoop 命令

我安装了Hadoop并创建了一个名为hduser的用户,并将hadoop文件夹的所有者更改为hduser。安装Hadoop后,我尝试执行hadoop命令来检查它是否已安装,但它给出“hadoop”命令未找到。然后我将hduser的执行权限授予了hadoop文件夹中所有文件的执行权限,包括bin文件夹但输出仍然相同。当我以root身份尝试使用相同的hadoop命令时,它工作正常。我认为它与unix命令有关。请帮助我给我的用户授予执行hadoop命令的权限。还有一件事,如果我切换到root,那么hadoop命令可以正常工作。 最佳答案

java - 运行第一个 Hadoop(在 unix 上)程序(在 Windows 7 上)

我有VMWare和运行Hadoop的UNIX机器,在同一台机器上我有在Windows7上使用Java运行的示例代码。代码是从这里得到的:http://pragmaticintegrator.wordpress.com/2013/08/16/writing-a-hadoop-mapreduce-task-in-java/我只是想运行一个mapreduce的例子,我还是不明白程序是如何连接到Hadoop实例的,我的代码中需要在哪里定义它?实际上,我的问题是我需要如何连接两者?是否有任何我需要使用Hadoop凭据更新的数据源文件?还是我做错了什么? 最佳答案

sql - 从配置单元表或 unix 中删除垃圾字符

我们在hive中有如下表,我们在生成时从hive数据生成平面文件,我们发现数据中有垃圾字符,如下所示,我们在许多列中有许多字符,任何人都可以帮助我们从配置单元表或unix文件中删除那些垃圾字符?ÿ,ä,í,ã这里的问题是,相同的数据在加载到那里的数据库时需要发送到下游,它显示为双美元,但我们将代码设计为双美元作为列分隔符。 最佳答案 基本概念hive>selectregexp_replace('Hÿelloäíworlãd','[^a-zA-Z]','');OKHelloworld演示从整个表中删除不需要的字符并将其导出到文件。cr

scala - Hadoop FileUtils 无法从 Scala 在本地(Unix)文件系统上写入文件

我正在尝试使用org.apache.hadoop.fs的文件系统库将文件写入本地FileSystem。下面是我在大scala代码中的一个线性代码,它应该这样做,但事实并非如此。fs.copyToLocalFile(false,hdfsSourcePath,newPath(newFile.getAbsolutePath),true)newFile的值为:valnewFile=newFile(s"${localPath}/fileName.dat")localPath只是一个包含本地磁盘上完整路径的变量。hdfsSourcePath是HDFS位置的完整路径。作业正常执行,但我没有看到在本地

scala - Spark : Calculate event end time on 30-minute intervals based on start time and duration values in previous rows

我有一个带有event_time字段的文件,每条记录每30分钟生成一次,并指示事件持续了多少秒。示例:Event_time|event_duration_seconds09:00|80009:30|180010:00|270012:00|100013:00|1000我需要将连续的事件转换为一个具有持续时间的事件。输出文件应如下所示:Event_time_start|event_time_end|event_duration_seconds09:00|11:00|530012:00|12:30|100013:00|13:30|1000ScalaSpark中是否有一种方法可以将数据帧记录与

sql - 在 Hive 中获取当前的 unix_timestamp

作为帖子HowtoselectcurrentdateinHiveSQL,以获取Hive中的当前日期,unix_timestamp可以使用。但我试过了selectunix_timestamp();只是,unix_timestamp();都给出了错误信息FAILED:ParseExceptionline1:23mismatchedinput''expectingFROMnear')'infromclauseFAILED:ParseExceptionline1:0cannotrecognizeinputnear'unix_timestamp''('')'分别。如何使用unix_timesta

shell - 列出目录中的所有文件夹名称 - unix shell 脚本

如何使用shell脚本获取所有文件夹的列表,目录存在于HDFS中。这是我尝试过的:#!/bin/kshecho"loadingfolders..."count=0forfolderin`hdfsdfs-ls-d/user/data/*`doif[-d"$folder"]thencount=`expr$count+1`echo${d}fidoneecho${count}程序结束时count变量的值为0。 最佳答案 你需要询问hdfs文件夹是否是一个目录,而不是bash。ifhdfsdfs-test-d"$folder";then

hadoop - 使用 Unix 命名管道的 Hive 到 vertica 数据导出

有人可以帮我解决如何在没有任何hadoop连接器的情况下将大量且快速地导出到Hive到Vetica吗?目前我正在通过unixNamedpipe导出同样的东西但性能不是很好。将近5个并行线程将数据加载到Vertica,16亿条记录集的时间约为230分钟?有人可以帮我提高这个性能吗?如果我们可以优化这个导出?谢谢阿比 最佳答案 我们这样做,不是使用命名管道(mkfifo),而是使用标准的匿名shell管道:hive-e"selectwhateverFROMwherever"|\ddbs=1M|\/opt/vertica/bin/vsql

hadoop - 在每个 EMR/Yarn 节点上运行 Unix shell 命令

我想在AmazonEMR集群中的每个节点上安装一个Python模块。看起来最明显的方法是通过ssh连接到每个节点并在命令行安装它。我将YARN视为在集群中的每个节点上运行相同JAR文件的一种方式,但YARN的“jar”命令似乎在本地系统上运行。 最佳答案 您可以使用bootstrap在启动集群时在每个EMR节点上安装第3方软件。如果您使用命令行,您可以传递保存在s3中的shell脚本作为引导操作的一部分。awsemrcreate-cluster--name"Testcluster"--ami-version3.3\--use-def

database - vertica 将 unix 纪元复制到 TIMESTAMPTZ

我想从HDFS将数据加载到Vertica,但数据中的time_stamp值是Unix纪元格式,我想将它作为Vertica中的TIMESTAMPTZ加载到Vertica。在这种情况下不知道如何即时使用cast函数。谁能帮我解决这个问题?我想在下面添加转换COPYsearch_mmx2SOURCEHdfs(url='http://hadoop-namenode:50070/webhdfs/v1/tmp/exported/2014/07/15/00/SEARCHES/part-m-0000*.bz2',username='xyz')filterBZip()DELIMITERE'\t';或者是