前言 我们用IDEA创建Spark项目的时候,默认都是使用SBT作为构建工具的,那么SBT是个啥?...SBT 的野心很大,采用Scala编程语言本身编写配置文件,这使得它稍显另类,虽然增强了灵活性,但是对于初学者来说同时也增加了上手难度。 另外由于SBT默认从国外下载依赖,导致第一次构建非常缓慢。...设置仓库 如果是Windows系统,则进入CMD执行如下命令: cd ~ mkdir .sbt cd .\.sbt\ echo "">repositories start repositories 如果是...Mac或Linux系统,则进入Bash执行如下命令: cd ~ mkdir .sbt cd .sbt vi repositories 然后创建 repositories 文件内容如下,并将文件拷贝到...方法一:修改SBT配置文件(推荐) 提醒一下, sbt-1.3.0/conf/ 目录下有两个配置文件, sbtconfig.txt 仅适用于 Windows 平台,而 sbtopts 仅适用于 Mac
1.yum install sbt 2.如果不行,则 curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo sudo mv bintray-sbt-rpm.repo.../etc/yum.repos.d/ sudo yum install sbt sbt 二进制文件发布到 Bintray,而Bintray 方便地提供了RPM资源库。...3.手动安装,目前官网提供的是可以直接运行的地址:http://www.scala-sbt.org/download.html 下载后是个sbt目录,首先赋权限:chmod u+x sbt,再将sbt加入到...path里,source下即可使用 注意:由于网络的原因,所以当你输入sbt命令的时候,会出现卡着的情况,实际上这是在下载相关的依赖包,一定要耐心等!...lock文件,这个是在~/.sbt目录下面的boot文件夹下,删除即可。
/sbt-rpm.repo > sbt-rpm.repo sudo mv sbt-rpm.repo /etc/yum.repos.d/ sudo yum install sbt 快速使用 ➜ mkdir.../sbt/foo-build/project/build.properties: set sbt.version to 1.3.13 [info] welcome to sbt 1.3.13 (Oracle...sbt命令 sbt启动,进入交互式命令 help帮助 exit 退出sbt compile编译, ~compile自动检测更新后编译 run 启动 reload 重新加载build.sbt...后terminal窗口会停在Getting org.scala-sbt sbt上,也不知道发生了什么。...可以用如下命令,查看程序进展tail -f $HOME/.sbt/boot/update.log 参考 sbt by example stuck at "Getting org.scala-sbt sbt
在学习SCALA的过程中,我遇到了SBT(Simple Build Tool), SBT是SCALA 平台上标准的项目构建工具,当然你要用它来构建其他语言的项目也是可以的。...二.部署 1.下载并放到/usr/local wget https://piccolo.link/sbt-1.1.5.tgz``tar -xf sbt-1.1.5.tgz``mv sbt /usr/local...2.进入目录创建启动脚本 cd /usr/local/sbt vim sbt #!...$SBT_OPTS -jar /usr/local/sbt/bin/sbt-launch.jar "$@" 3.配置环境变量 vim /etc/profile export PATH=/usr/local.../sbt/:$PATH source /etc/profile 三.测试 第一次执行时,会下载一些文件包,然后才能正常使用,要确保联网了 sbt sbt-version
2.2 基于 SBT 身份表达的应用场景 把 SBT 放到具体的应用场景,有助于我们更好地理解 SBT 的潜力。...3 - SBT 的技术实现 实现 SBT 需要新的通证标准。...考虑到未来一定会出现匀质化的数量型 SBT(如:信用分) 与非匀质化的标识型 SBT(如:勋章),使用 ERC-3525 一个通证标准,恰好可以表达出两种不同性质的 SBT。...因此,ERC-3525 虽然并非单纯为SBT而设计的标准,却天然SBT实现方面的最佳参考方案。...从 SBT 概念的来龙去脉来看,Web3 的新局面将不仅仅是 SBT 论文开宗明义所讲的去中心化社会,而将是基于 SBT 的状态互联网概念研究深入所形成的新的 Web3 世界。
sbt&play没有main函数,每次使用sbt命令启动,但是就无法使用IDEA调试,本文介绍使用远程调试的方式实现 远程调试 sbt启动调试端口9999 sbt -jvm-debug 9999 run...创建远程调试 其他 sbt添加javaoption 使用-J前缀,会把参数传递给JVM sbt -J-javaagent:skywalking-agent.jar -jvm-debug 9999...run 参考 Run project with java options via sbt Debugging SBT project with Play in IntelliJ IDEA
下面分享在SBT使用过程中的一些常用技巧。 设置 JVM 参数 有时候我们发现 SBT 编译速度异常缓慢,甚至直接报 OutOfMemory,这时我们就需要调整 JVM 堆大小。...在 SBT 中,有三种方式可以设置 JVM 参数,下面分别介绍。...用法如下,-J 后面的内容会被直接用作 JVM 参数: sbt -J-Xmx1g 另外,我们也可以通过 -D 设置 JVM 的系统属性,值得欣喜的是,sbt.bat 脚本也是支持 -D 参数的: sbt...SBT 会自动进行增量编译。...] Loading settings from gpg.sbt,idea.sbt ...
为了方便理解sbt的依赖管理逻辑,我们得先了解一下sbt的项目结构 sbt的项目结构 一个典型的 sbt 项目结构如下: my-project/ ├── build.sbt ├── project...build.properties: 这个文件指定了sbt的版本,用于确定使用哪个版本的sbt来构建项目。 plugins.sbt: 这个文件包含了项目所使用的sbt插件的配置。...回到开头的托管依赖项管理的内容,我们来聊聊在sbt中添加依赖项 sbt中添加依赖项 在 build.sbt 文件中,可以通过 libraryDependencies 来添加依赖。...,保证了sbt的高效。...你也可以添加自定义仓库,通过查找相关的资料我们可以了解到依赖项的解析过程大概分为以下几个步骤: 1 读取配置文件 sbt项目的依赖项通常在 build.sbt 或者 project/*.sbt 文件中指定
进去看看实现原理等等… 总之一句话,sbt 的项目很麻烦,甚至是见到 sbt 的项目就想躲。...2.1 sbt 本地问题 其实只要 sbt 在本地可以对项目进行构建,就应该不存在 IDEA 构建不了的问题。所以正常的下载安装 sbt 的流程应该是这样的。...➜ sbt tree . ├── bin │ ├── java9-rt-export.jar │ ├── sbt │ ├── sbt-launch-lib.bash │ ├── sbt-launch.jar...2.3 一些测试 为了测试 sbt 的配置是否正确了,建议利用 IDEA 创建和导入一个 sbt 项目,尤其是导入一个开源的 sbt 项目,因为这些项目相对比较复杂,sbt 的配置文件中包含了大量的插件和...3 Summary 本文主要介绍了 sbt 的配置和踩坑经历,碰到 sbt 构建失败不要轻易放弃,毕竟 sbt 的动态编译还是很爽的…
开始引入 IndexedRDD 参见 Github 的说明,在 build.sbt 中添加: //这句很关键 resolvers += "Spark Packages Repo" at "http://...scala 和 spark 版本的对照关系,版本确定为: scala-2.11.8 spark-core-2.1.0(graphx同2.1.0) 上述版本是 spark-rdd 代码库中 build.sbt...shell: could not find implicit value for evidence parameter of type edu.berkeley.cs.amplab.spark.indexedrdd.KeySerializer...IndexedRDD 环境(示例运行正常)应该如下: scala-2.11.8 spark-core-2.1.0 graphx-2.1.0(非必须) spark-indexedrdd-0.4.0 build.sbt...才出现的这个错误,在改用 Sbt 单一管理依赖后该错误也没有复现。
http://hihocoder.com/problemset/problem/1337 #1337 : 平衡树·SBT 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述...样例输入 5 I 3 I 2 Q 1 I 5 Q 2 样例输出 2 3 ---恢复内容结束--- 动态查询Ktop系列 1.对于固定的Ktop系列,可以使用 优先队列,最小堆,Treap,BST,SBT...2.动态的Ktop Treap,BST,SBT 效率: BST<Treap<SBT 解法一 使用二叉搜索树: 此方法是直接建立起二叉树,对于树不做调整,这会造成树变得很长!...BSTree.query(root, val)); 65 } 66 } 67 } 68 } 69 70 } 解法二: SBT
Mac 安装 ApacheFlink + Scala + SBT flink: https://ci.apache.org/projects/flink/flink-docs-release-1.8/tutorials...scala-sbt doc brew install sbt@1 也很慢: ==> Downloading https://github.com/sbt/sbt/releases/download/v1.2.8...此时也会去下载 sbt,但是我们这回不用等 sbt 下载完成,直接停掉次命令。...ll ~/Library/Caches/Homebrew/downloads cp Downloads/sbt-1.2.8.tgz $(brew --cache -s sbt) brew install...sbt 至此顺利安装完成。
第一步:安装SBT 单击这里下载 SBT 1.3.0,下载完成后解压到指定目录,例如 D:\Software\sbt-1.3.0,然后将 D:\Software\sbt-1.3.0\bin 添加至环境变量...cd ~ mkdir .sbt cd .sbt 然后创建 repositories 文件内容如下,并将文件拷贝到 .sbt 目录下, [repositories] local huaweicloud-maven...由于SBT 1.3.0包含了多项性能提升,如果是已有的本地项目,请手动将项目的SBT构建版本改成1.3.0 。...shell , 第一次进入 sbt shell 时,由于需要下载相关依赖,大概需要几十秒时间,第二次及以后进入 sbt shell 会很快。...检查当前项目的SBT构建版本是否为1.3.0, sbt:hello-scala> sbtVersion [info] 1.3.0 sbt:hello-scala> 2)确认全局仓库是否已经覆盖项目自身仓库
背景简介 Spark App(用Spark APIs编写的)需要submit到Spark Cluster运行,对于Scala编写的代码,提交之前要用sbt或者maven把以下内容: 源代码 依赖的jar..., // Third-party libraries "com.github.scopt" %% "scopt" % "3.4.0" ) 升级到Spark 2.0.0后需要更新软件包版本,于是将sbt...总结 对于Java/Scala的编译问题,我曾经特别抗拒,因为maven和sbt的配置文件很冗杂,没有Python的简洁明了。...Python里20行的依赖文件在maven/sbt里至少200行,而且只要有一个地方没写正确就无法正确编译。 现在发现要想正确编译,保证源代码没问题的情况下,就需要指定正确的依赖包和格式。...当看到sbt编译失败的时候就应该根据报错信息推测出问题的原因:“依赖包版本不正确”,然后把版本指定正确就可以了。
/local/sbtsudo chown -R hadoop /usr/local/sbt # 此处的 hadoop 为你的用户名cd /usr/local/sbt Shell 命令 经笔者测试...Shell 命令 接着在 /usr/local/sbt 中创建 sbt 脚本(vim ./sbt),添加如下内容: #!...-jar `dirname $0`/sbt-launch.jar "$@" Shell 命令 保存后,为 ..../sbt Shell 命令 最后检验 sbt 是否可用(首次运行会处于 “Getting org.scala-sbt sbt 0.13.9 …” 的下载状态,请耐心等待。...-repo.tar.gz ): /usr/local/sbt/sbt package Shell 命令 打包成功的话,会输出如下图内容: ?
build.sbt定义如下: import scalapb.compiler.Version.scalapbVersion import scalapb.compiler.Version.grpcJavaVersion...= 3; } message SubtractedResult { int32 nbr1 = 1; int32 nbr2 = 2; int32 result = 3; } 用sbt...在使用方sbt项目里可以用unmanagedBase指定.jar路径或者把包放到默认的lib/目录下: lazy val commonSettings = Seq( name := "using-common-protobuf-data...在上面的.sbt文件中有关路径的设置需要总结一下: 1、改变默认源代码路径: (src/main/scala, src/test/scala) scalaSource in Compile := baseDirectory.value
原错误信息 原错误出现的IDEA版本:2017.2; 原错误的出现场景:每次新建SBT项目并添加完SBT依赖之后出现; 原错误的表现:build.sbt文件内容解析全部是红的,并且sbt shell报错...; 原错误报错如下: [info] Loading settings from idea.sbt ......[info] Loading global plugins from C:\Users\msi\.sbt\1.0\plugins [info] Loading settings from plugins.sbt...started at local:sbt-server-a45abbca777ea4158128 sbt:Visualization> [info] Defining Global / sbtStructureOptions...,勾选Use SBT Shell for ...
转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9 unzip -q ..../sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [repositories] local oschina: http.../sbt-launch.jar # 删除旧的 jar -cfM ./sbt-launch.jar ....# 重新打包 ls | grep -v "sbt-launch.jar" | xargs rm -r # 解压后的文件已无用,删除
/sbt-rpm.repo > sbt-rpm.repo sudo mv sbt-rpm.repo /etc/yum.repos.d/ sudo dnf install sbt 首次运行 sbt about...,将会远程下载sbt launcher,以及对应版本的 sbt 和 scala 程序。...另外,sbt会将current project切到当前工作目录下对应的project 远程网络慢的话,可以更换maven仓库 mkdir ~/.sbt vi ~/.sbt/repositories 添加以下内容...spark-defaults.conf vi $SPARK_HOME/conf/spark-defaults.conf #在末行添加如下语句:spark.driver.host localhost 启动spark-shell...: spark-shell # 或者运行run-example SparkPi 10语句来测试是否能跑完程序 run-example SparkPi 10 # 或者提交jar程序在集群上运行 cd $SPARK_SHELL
环境变量中了,但在运行 shell 脚本时,这个环境变量并不能带给脚本程序。...bin/hdfs 工具的使用方式与 shell 类似,其帮助信息有对用法的详细说明,这里不再赘述。...spark-shell 中输入 ":quit" 可以退出 shell, 输入":help" 可以获取帮助。 上面例子中,对本地的 README.md 文件使用 spark 做了单词计数。...5.1 sbt 简介 sbt 官网: http://www.scala-sbt.org, 在这上面有有很详细的 中文文档。 sbt 从官网下载最新版本,开箱即可使用,其安装说名这里不再赘述。...sbt 解压后的主要内容如下: sbt ----- | --- bin/ # 执行工具路径 --- conf/ # 配置目录, sbt 全局工作选项以及 sbt 启动
领取专属 10元无门槛券
手把手带您无忧上云