我试图使用SPARK作为hive执行引擎,但得到以下错误.已安装Spark 1.5.0,我正在使用Hado 1.1.0版本和Hadoop 2.7.0版本.
hive_emp table在hive中创建为ORC格式表.
hive (Koushik)> insert into table hive_emp values (2,'Koushik',1);
Query ID = hduser_20150921072727_feba8363-258d-4d0b-8976-662e404bca88
Total jobs = 1
Launching Job 1 out of 1
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapreduce.job.reduces=<number>
java.lang.NoClassDefFoundError: org/apache/spark/SparkConf
at org.apache.hadoop.hive.ql.exec.spark.HiveSparkClientFactory.generateSparkConf(HiveSparkClientFactory.java:140)
at org.apache.hadoop.hive.ql.exec.spark.HiveSparkClientFactory.createHiveSparkClient(HiveSparkClientFactory.java:56)
at org.apache.hadoop.hive.ql.exec.spark.session.SparkSessionImpl.open(SparkSessionImpl.java:55)
at org.apache.hadoop.hive.ql.exec.spark.session.SparkSessionManagerImpl.getSession(SparkSessionManagerImpl.java:116)
at org.apache.hadoop.hive.ql.exec.spark.SparkUtilities.getSparkSession(SparkUtilities.java:113)
at org.apache.hadoop.hive.ql.exec.spark.SparkTask.execute(SparkTask.java:95)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:160) …Run Code Online (Sandbox Code Playgroud) 我使用的是Ubuntu 15.04和Java 1.7.更新到15.04后,每当我输入任何Java命令时,我都会收到如下消息:
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
Run Code Online (Sandbox Code Playgroud)
例如:
hduser@ubuntu:~$ java -version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
我怎么能抑制这种行为?
我试图使用textFile方法从spark-shell使用WEB URL,但是收到错误.可能这不是正确的方法.那么有人可以告诉我如何从spark上下文访问Web URL.
我正在使用spark版本1.3.0; Scala版本2.10.4和Java 1.7.0_21
hduser@ubuntu:~$ spark-shell
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Welcome to
__
/ / / /
\ \/ \/ `/ _/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 1.3.0
/_/
Using Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_21)
Type in expressions to have them evaluated.
Type :help for more information.
Spark context available as sc.
SQL context available as sqlContext.
scala> val pagecount = sc.textFile( "https://www.google.co.in/?gws_rd=ssl" )
pagecount: …Run Code Online (Sandbox Code Playgroud)我有一个将数据插入目标表,其中所有列应从不同的源表填充,除了代理键列; 这应该是目标表的最大值加上自动增量值的开始1.我可以使用row_number()函数生成自动增量值,但在同一查询中,我应如何从目标表中获取代理键的最大值.在HIVE中是否有任何概念我可以选择代理键的最大值并将其保存在临时变量中?或者有没有其他简单的方法来实现这个结果?
怎么可以有问题(pyspark)sql MERGE INTO语句可以实现.我有两个表,我使用createOrReplaceTempView选项将表放入临时视图中.然后我尝试在这两个临时视图上使用MERGE INTO语句.但它失败了.原因可能是SPARK SQL不支持MERGE.有人可以提示如何在pyspark中以编程方式实现简单的MERGE INTO SQL等效语句(如下所示).
MERGE INTO events
USING updates
ON events.eventId = updates.eventId
WHEN MATCHED THEN
UPDATE SET
events.data = updates.data
WHEN NOT MATCHED
THEN INSERT (date, eventId, data) VALUES (date, eventId, data)
Run Code Online (Sandbox Code Playgroud) 我有一组以递归方式在HDFS中创建的目录.如何列出所有目录?对于普通的unix文件系统,我可以使用下面的命令来完成
find /path/ -type d -print
Run Code Online (Sandbox Code Playgroud)
但我想为HDFS得到类似的东西.
我有如下文件:
这是一个示例文件,该文件将用于测试
this is a sample file
this file will be used for testing
Run Code Online (Sandbox Code Playgroud)
我想用AWK计算单词.
预期的产出是
this 2
is 1
a 1
sample 1
file 2
will 1
be 1
used 1
for 1
Run Code Online (Sandbox Code Playgroud)
以下AWK我写过,但得到一些错误
cat anyfile.txt|awk -F" "'{for(i=1;i<=NF;i++) a[$i]++} END {for(k in a) print k,a[k]}'
Run Code Online (Sandbox Code Playgroud) 我在一台机器上运行hadoop和spark(Ubuntu 14.04)。JPS命令给我下面的输出
hduser@ubuntu:~$ jps
4370 HRegionServer
6568 Jps
5555 RunJar
3744 TaskTracker
5341 RunJar
4120 HQuorumPeer
5790 SparkSubmit
3308 DataNode
4203 HMaster
3469 SecondaryNameNode
3079 NameNode
3587 JobTracker
Run Code Online (Sandbox Code Playgroud)
我在HDFS中创建了一个简单的csv文件。文件的以下详细信息。
hduser@ubuntu:~$ hadoop fs -ls /user/hduser/file_for_spark/spark1.csv
Warning: $HADOOP_HOME is deprecated.
Found 1 items
-rw-r--r-- 1 hduser supergroup 174 2015-04-16 08:14 /user/hduser/file_for_spark/spark1.csv
Run Code Online (Sandbox Code Playgroud)
但是,当尝试从spark访问文件时,出现连接异常失败:java.net.ConnectException:连接被拒绝错误
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 1.3.0
/_/
Using Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, …Run Code Online (Sandbox Code Playgroud) 我有一个字符串,它实际上是密码。我想加密字符串并将加密结果存储在参数文件中。接下来在脚本执行期间,加密字符串将被提取并在运行时被解密。所以我想知道如何在linux环境中加密和解密字符串/文本?
我在我的本地Windows机器上安装了Anaconda3(64位),其中安装了Spyder IDE.我想将Spyder IDE连接到Cloudera Hadoop集群,以便我可以在Spyder IDE中为该远程Cloudera Hadoop集群编写我的PYSPARK脚本.连接到远程集群并从本地Windows机器执行pyspark代码时,我必须遵循哪些步骤.