草庐IT

Bash$编码$Shell

全部标签

linux - 使用 ls 命令作为 shell 脚本的输入

我的文件在Hadoop文件系统中;我需要对它们中的每一个运行phoenixbulkimport。现在我的shell脚本是这样的:test.sh:HADOOP_CLASSPATH=/usr/lib/hbase/lib/hbase-protocol-1.1.2.jar:/etc/hbase/confhadoopjar/usr/lib/phoenix/lib/phoenix/phoenix-1.2.0-client.jarorg.apache.phoenix.mapreduce.CsvBulkLoadTool--tableNETWORK_HEALTH--input$1hdfsdfs-ls/t

bash - 无法找到或加载主类 org.apache.hadoop.fs.FsShell

我知道这个问题可能已经回答了,好吧,我的问题仍然在这里:我使用CentOS7在vmware上为hadoop创建了一个虚拟机,我可以启动名称节点和数据节点,但是,当我尝试使用以下命令查看hdfs文件时:hdfsdfs-ls它抛出以下错误:Couldnotfindorloadmainclassorg.apache.hadoop.fs.FsShell我的谷歌搜索表明这可能与bash中的hadoop变量设置有关,这是我的设置:#.bashrc#Sourceglobaldefinitionsif[-f/etc/bashrc];then./etc/bashrcfiexportHADOOP_HOME

shell - 如何在 OOZIE 的决策节点中动态获取文件名?

我想检查文件是否存在,在HDFS位置使用oozie批处理。在我的HDFS位置,在每天晚上11点,我会得到像“test_08_01_2016.csv”、“test_08_02_2016.csv”这样的文件。所以我想在晚上11点15分之后检查文件是否存在,我可以在不使用决策节点时检查文件是否存在。通过使用以下工作流程。${fs:exists("/user/cloudera/file/input/test_08_01_2016.csv")}${jobTracker}${nameNode}jdbc:hive2://quickstart.cloudera:10000/default/user/c

shell - 我们如何使用 linux 脚本自动执行 Sqoop 中从数据库到 HBase 的增量导入

使用sqoop作业,我们可以使用--lastval对HBase进行增量加载但是我们如何用shell脚本做同样的事情,以及我们如何在自动化脚本时获得--lastval?我的意思是如何存储--lastval以及如何将它传递给下一次提前感谢您的帮助!! 最佳答案 howtostorethe--lastvalandhowtopassittothenexttime?定义--lastval作为linux或unix中的别名或导出变量。可以从自动化脚本重试onceloadisfinishthenchangeittorecentvalue,bycap

database - 如何使用 shell 脚本将 HiveQL 查询的结果输出到 CSV?

我想运行多个Hive查询,最好是并行而不是顺序运行,并将每个查询的输出存储到一个csv文件中。例如,query1在csv1中输出,query2在csv2中输出,等等。我会在之后运行这些查询离开工作的目标是在下一个工作日对输出进行分析。我对使用bashshell脚本很感兴趣,因为这样我就可以设置一个cron任务以在一天中的特定时间运行它。我知道如何将HiveQL查询的结果存储在CSV文件中,一次一个查询。我用类似下面的东西来做到这一点:hive-e"SELECT*FROMdb.table;""|tr"\t"",">example.csv;上面的问题是我必须监视进程何时完成并手动启动下一个

apache-spark - 用于 ETL 的 Impala shell 或 Spark?

我最近开始研究Hadoop环境。我需要做一些基本的ETL来填充几个表。目前,我正在使用sqoop将数据导入Hadoop,并使用Impalashell命令编写用于转换的SQL查询。但最近我经常听说Spark。在我的情况下,用Spark而不是Impalashell编写ETL会有什么优势吗?谢谢S 最佳答案 过去,许多人使用A)SQL脚本(如Impala)和UNIX脚本,或者使用B)ETL工具进行ETL。但是,问题是1)更大规模imo和2)技术标准化。既然都在用Spark,那为什么不在Spark上做标准化呢?我经历过这个周期,使用Spar

python - 在 bash shell 中使用 Python 2.6 从目录中读取文件的正确方法

我正在尝试读入文件进行文本处理。我的想法是使用我正在编写的map-reduce代码在我的虚拟机上通过Hadoop伪分布式文件系统运行它们。界面是UbuntuLinux,我安装的是Python2.6。我需要使用sys.stdin读取文件,并使用sys.stdout从映射器传递到缩减器。这是我的映射器测试代码:#!/usr/bin/envpythonimportsysimportstringimportglobimportosfiles=glob.glob(sys.stdin)forfileinfiles:withopen(file)asinfile:txt=infile.read()tx

scala - SPARK_EXECUTOR_INSTANCES 在 SPARK SHELL、YARN 客户端模式下不工作

我是spark的新手。正在尝试运行sparkonyarninyarn-clientmode.SPARKVERSION=1.0.2HADOOPVERSION=2.2.0yarn集群有3个事件节点。spark-env.sh中设置的属性SPARK_EXECUTOR_MEMORY=1GSPARK_EXECUTOR_INSTANCES=3SPARK_EXECUTOR_CORES=1SPARK_DRIVER_MEMORY=2GCommandused:/bin/spark-shell--masteryarn-client但是在登录spark-shell之后,它只注册了1个执行器,并为其分配了一些默认

shell - HDFS 命令行追加

有没有办法像复制文件一样从命令行append到HDFS上的文件:hadoopfs-copyFromLocalURI 最佳答案 此功能在Hadoop2.3.0中实现为appendToFile语法如下:hdfsdfs-appendToFilelocalfile/user/hadoop/hadoopfile(在2009年考虑HDFSAppend功能时首次提出:https://issues.apache.org/jira/browse/HADOOP-6239) 关于shell-HDFS命令行追加

sql - Hive SQL 编码风格 : intermediate tables?

我应该在配置单元中创建和删除中间表吗?我可以写类似的东西(大大简化):droptableifexiststmp1;createtabletmp1asselecta,b,cfrominput1wherea>1andb或者我可以将所有内容汇总到一个语句中:droptableifexistsoutput;createtableoutputasselectx,a,count(*)ascountfrom(selecta,b,cfrominput1wherea>1andb显然,如果我多次重复使用中间表,那么创建它们就很有意义了。但是,当它们只使用一次时,我有一个选择。两个我都试过了,第二个是6%快