SparkR的编译安装

在编译从github下载SparkR-pkg-master.zip 解压后编译

#SPARK_VERSION=1.5.2 SPARK_HADOOP_VERSION=2.6.0 ./install-dev.sh 

* installing *source* package ‘SparkR’ ...

** libs
** arch - 
./sbt/sbt assembly
Launching sbt from sbt/sbt-launch-0.13.6.jar
Error: Invalid or corrupt jarfile sbt/sbt-launch-0.13.6.jar
make: *** [target/scala-2.10/sparkr-assembly-0.1.jar] Error 1
ERROR: compilation failed for package ‘SparkR’

* removing ‘/root/SparkR-pkg-master/lib/SparkR‘

意思是说sbt-launch-0.13.6.jar这个包不对,怎么会不对呢

#ll /root/SparkR-pkg-master/pkg/src/sbt/sbt-launch-0.13.6.jar
-rw-r--r-- 1 root root 0 Dec 15 22:23 /root/SparkR-pkg-master/pkg/src/sbt/sbt-launch-0.13.6.jar

确实是下载到的包不对

解决方法:

vim  SparkR-pkg-master/pkg/src/sbt/sbt

1、有两个URL要修改一下 修改如下

URL1=http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${SBT_VERSION}/sbt-launch.jar

URL2=https://dl.bintray.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${SBT_VERSION}/sbt-launch.jar

2、修改命令

   curl  --progress-bar  ${URL1} > ${JAR} || curl --progress-bar ${URL2} > ${JAR}

改为
    curl  --silent -L ${URL1} > ${JAR} || curl --silent -L ${URL2} > ${JAR}

完了之后再次编译

# SPARK_VERSION=1.5.2 SPARK_HADOOP_VERSION=2.6.0 ./install-dev.sh 
* installing *source* package ‘SparkR’ ...
** libs
** arch - 
./sbt/sbt assembly
Attempting to fetch sbt
Launching sbt from sbt/sbt-launch-0.13.6.jar
Getting org.scala-sbt sbt 0.13.6 ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt/0.13.6/jars/sbt.jar ...
[SUCCESSFUL ] org.scala-sbt#sbt;0.13.6!sbt.jar (5691ms)
downloading https://repo1.maven.org/maven2/org/scala-lang/scala-library/2.10.4/scala-library-2.10.4.jar ...
[SUCCESSFUL ] org.scala-lang#scala-library;2.10.4!scala-library.jar (6320ms)
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main/0.13.6/jars/main.jar ...
[SUCCESSFUL ] org.scala-sbt#main;0.13.6!main.jar (36212ms)

开始下包了.......


或者不使用sbt的方法编译,使用maven

# USE_YARN=1 USE_MAVEN=1 SPA_YARN_VEVERSION=2.6.0 SPARK_VERSION=1.5.2 SPARK_HADOOP_VERSION=2.6.0 ./install-dev.sh 

# USE_YARN=1 USE_MAVEN=1 SPA_YARN_VEVERSION=2.6.0 SPARK_VERSION=1.5.2 SPARK_HADOOP_VERSION=2.6.0 ./install-dev.sh 
* installing *source* package ‘SparkR’ ...
** libs
** arch - 
mvn -Dhadoop.version=2.6.0 -Dspark.version=1.5.2 -DskipTests "-Pyarn" -Dyarn.version=2.4.0 clean package shade:shade
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for edu.berkeley.cs.amplab:sparkr:jar:0.1

..............


最后编译好之后主要是  lib/SparR   这个文件然后拷贝到R的库下边,原来有的替换掉。

#cp -rf lib/SparkR   /usr/local/lib64/R/library/


> library(SparkR)
[SparkR] Initializing with classpath /usr/local/lib64/R/library/SparkR/sparkr-assembly-0.1.jar

>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spark提供了与Hive集成的功能,可以在Spark中使用Hive的元数据、表和查询语言。要在Spark中使用Hive集成,您需要确保在Spark中启用Hive支持。 首先,您需要在启动Spark应用程序时配置Hive支持。您可以在SparkSession的配置中设置以下选项来启用Hive支持: ```python from pyspark.sql import SparkSession spark = SparkSession.builder \ .appName("Spark Hive Integration") \ .config("spark.sql.warehouse.dir", "/user/hive/warehouse") \ .enableHiveSupport() \ .getOrCreate() ``` 在上述示例中,我们通过将`spark.sql.warehouse.dir`配置设置为Hive仓库目录来启用Hive支持。 一旦启用了Hive支持,您可以使用SparkSession的`sql`方法执行Hive查询。例如,您可以执行以下操作来读取Hive表的数据: ```python df = spark.sql("SELECT * FROM database.table") ``` 在这里,`database.table`是您要查询的Hive表的名称。 需要注意的是,Spark会自动将Hive表中的数据加载为DataFrame,这样您就可以使用Spark的API进行数据处理和分析。 除了执行Hive查询,您还可以使用Spark的DataFrame API来创建、操作和管理Hive表。您可以使用`spark.catalog`来访问Hive的元数据信息,并使用DataFrame API来创建新表、插入数据等操作。 这就是Spark与Hive集成的基本概述。通过使用Spark和Hive的组合,您可以在Spark中利用Hive的元数据和查询能力,以及Spark强大的数据处理和分析功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值