草庐IT

client-side-scripting

全部标签

hadoop - 无法在伪分布式模式下运行 Pig Script

我正在尝试编写一个pig脚本。我已经成功地在本地模式下工作,但是当我在Psudo分布式模式下启动pig时出现错误。这是脚本:register'myfolder/target/myfunc-with-dependencies.jar';SETmapred.cache.files/tmp/scripts#scripts,/tmp/my_rules#my_rules;SETmapred.create.symlinkyes;%defaultINPUT'test.seq'%defaultOUTPUT'final.out'%defaultTIMEOUT_MS'180000'%defaultUSE_

java - 如何使用具有多对多关系的两个表在 Java Mapreduce 上执行 reduce side join?

首先,我不确定这是否可能。如果可能的话,我仍然不确定这是否是正确的做法。我拥有的是:HDFS上的两个名为A和B的大型csv文件A有以下列:a1、a2、a3、a4B有以下列:b1、b2、b3、b4、b5我想要的是:加入两个文件,假设a1=b1我遇到的问题是:如果连接键上的两个文件之间存在多对多关系,我如何使用Java上的HadoopMapreduce执行此操作?从下图中可以看出,A有4行匹配a1=x,B有2行匹配b1=x。因此,在a1=b1=x上连接两个表会产生4*2=8行(组合),如最后一个表所示。使用reduce侧连接,我无法做到这一点,因为这意味着增加键值对,这违背了MapRedu

postgresql - 大量导出时出现 Sqoop PSQLException "Sorry, too many clients already"

当从HDFS导出大型(超过200万行)表到Postgres时,我看到Sqoop抛出PSQLException“抱歉,客户端已经太多了”。我有几张较小的table(约300万张),它们似乎运行良好。即使大表出现故障,我的postgres表中似乎仍然有大约200万行,但我猜这只是来自那些没有死的worker,因为他们首先获得了其中一个连接。我的Postgres表配置为允许300个max_connections,并且有大约70个连接始终来自其他应用程序,因此SQOOP应该有大约230个可供使用。我尝试在我的SQOOP导出命令中将--num-mappers切换为2-8,但这似乎并没有太大的区别

hadoop - Mapside Join 和 Reduce side join 可以有不同的 O/P

以下代码存在于PROD中并且每天运行,我正在尝试对其进行优化。我看到设置hive.auto.convert.join=FALSE;正在让它执行一个Reducesidejoin,它运行2.5小时并产生2324381条记录的行数。如果我设置hive.auto.convert.join=TRUE;然后它执行Map端连接并仅运行20分钟并生成5766529条记录的行数。我需要知道为什么行数不同,这是否正确?行数不同可以吗?我的印象是,无论发生哪个连接,O/P或查询都应该保持不变。在这两种情况下,源数据都保持不变,而且对于我正在更改的配置单元设置,所有其他条件都是相同的。INSERTOVERWR

hadoop - Mapreduce 作业 ipc.Client 重试连接

我正在测试由4个docker容器组成的hadoop集群:数据节点辅助名称节点名称节点资源经理当我提交mapreduce作业时,一旦map和reduce都达到100%,我就会注意到连接问题。然后在出错和提供堆栈跟踪之前达到最大重试次数。奇怪的是作业完成并提供了答案。但是,节点管理器Web界面显示作业失败。到目前为止,我发现的问题/答案都没有解决我的特定问题。我所有的机器都公开了端口范围50100:50200以符合“yarn.app.mapreduce.am.job.client.port-range”属性。我提交的作业是sudo-uhdfshadoopjar/usr/lib/hadoop

hadoop - Apache Storm Hbase 版本兼容性,java.lang.NoSuchFieldError : HBASE_CLIENT_PREFETCH_LIMIT

我正在运行以下Storm设置(在Ubuntu16.464位上)。Storm:0.10.1Hadoop:2.5.2(本地伪集群)Hbase:1.1.5(本地伪集群)jar的编译器:maven通过导入函数使用默认的hbasestorm支持类:org.apache.storm.hbase.bolt.HbaseBolt和mapper.SimpleHBaseMapper。我正在尝试使用“Hbase”bolt写入Hbase数据库。在此过程中出现以下错误:016-07-3021:06:14.874b.s.util[ERROR]Asyncloopdied!java.lang.NoSuchFieldEr

hadoop - Spark 上的 hive : Failed to create spark client

我正在尝试使Spark2.1.0上的Hive2.1.1在单个实例上运行。我不确定这是正确的方法。目前我只有一个实例,所以我无法构建集群。当我在配置单元中运行任何插入查询时,出现错误:hive>insertintomcus(id,name)values(1,'ARM');QueryID=server_20170223121333_416506b4-13ba-45a4-a0a2-8417b187e8ccTotaljobs=1LaunchingJob1outof1Inordertochangetheaverageloadforareducer(inbytes):sethive.exec.re

Hadoop hive : Generate Table Name and Attribute Name using Bash script

在我们的环境中,我们无法访问Hive元存储来直接查询。我需要为一组表动态生成表名、列名对。我试图通过对所有表的文件运行“describeextended$tablename”并从文件中选取表名和列名对来实现这一点。除了这种方式,还有其他更简单的方法吗?想要的输出是这样的table1|col1table1|col2table1|col3table2|col1table2|col2table3|col1 最佳答案 此脚本将为单个表以所需格式打印列。AWK从describe命令解析字符串,只接受column_name,用“|”连接和tab

apache-spark - Spark 没有这个字段 METASTORE_CLIENT_FACTORY_CLASS

我正在尝试使用Java中的spark查询配置单元表。我的配置单元表位于EMR集群5.12中。Spark版本为2.2.1,Hive版本为2.3.2。当我通过ssh连接到机器并连接到spark-shell时,我能够毫无问题地查询配置单元表。但是当我尝试使用自定义jar进行查询时,出现以下异常:java.lang.IllegalArgumentException:Errorwhileinstantiating'org.apache.spark.sql.hive.HiveSessionStateBuilder':atorg.apache.spark.sql.SparkSession$.org$

apache-spark - Apache Spark : Differences between client and cluster deploy modes

TL;DR:在SparkStandalone集群中,客户端和集群部署模式有何区别?如何设置我的应用程序要运行的模式?我们有一个包含三台机器的SparkStandalone集群,它们都装有Spark1.6.1:一台主机,也是我们使用spark-submit运行我们的应用程序的地方2台相同的worker机器来自SparkDocumentation,我读到:(...)Forstandaloneclusters,Sparkcurrentlysupportstwodeploymodes.Inclientmode,thedriverislaunchedinthesameprocessasthecl