我想知道如何在Play Framework 2.3+中使用CommonJS模块?
我想一个Browserify插件可以用类似于sbt-less插件的方式编写,但在开始之前我想知道其他人是如何处理它的.
在play框架构建过程中是否已经有一种方法可以使用Browserify?
所以...基本上我有一个docx文件.我必须在几个段落中进行一些格式更改,然后保存在一个新文件中.我正在做的主要是遵循.
import scala.collection.JavaConversions._
import org.apache.poi.xwpf.usermodel._
def format( sourceDocumentPath: String, outputDocumentPath: String ) {
val sourceXWPFDocument = new XWPFDocument( new FileInputStream( sourcePath ) )
// lets say I have a list of paragraph numbers... I want to format
val parasToFormat = List( 2, 10, 15, 20 )
val allParagraphs = sourceXWPFDocument.getParagraphs
for ( ( paragraph, index ) <- allParagraphs.zipWithIndex ) {
if( parasToFormat.contains( index ) ) {
formatParagraph( paragraph )
}
}
val outputDocx = new FileOutputStream( new File( outputDocumentPath ) …Run Code Online (Sandbox Code Playgroud) 我已经构建了一个定义流的akka图.我的目标是重新格式化我将来的响应并将其保存到文件中.流程可以概述如下:
val g = RunnableGraph.fromGraph(GraphDSL.create() { implicit builder: GraphDSL.Builder[NotUsed] =>
import GraphDSL.Implicits._
val balancer = builder.add(Balance[(HttpRequest, String)](6, waitForAllDownstreams = false))
val merger = builder.add(Merge[Future[Map[String, String]]](6))
val fileSink = FileIO.toPath(outputPath, options)
val ignoreSink = Sink.ignore
val in = Source(seeds)
in ~> balancer.in
for (i <- Range(0,6)) {
balancer.out(i) ~>
wikiFlow.async ~>
// This maps to a Future[Map[String, String]]
Flow[(Try[HttpResponse], String)].map(parseHtml) ~>
merger
}
merger.out ~>
// When we merge we need to map our Map to a file
Flow[Future[Map[String, String]]].map((d) => …Run Code Online (Sandbox Code Playgroud) 所以,基本上一切都很好,直到我最后一次调用sbt compile......两天前。
但现在当我调用时sbt compile,它期望每个语句都以 结尾;。
例子:
以下导致问题,
package me.example.sample
import java.util.UUID
Run Code Online (Sandbox Code Playgroud)
错误,
'{' expected but 'import' found.
[error] import java.util.UUID
^
Run Code Online (Sandbox Code Playgroud)
但这效果很好,
package me.example.sample;
import java.util.UUID;
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我正在Scala 2.11.5跑步Oracle java 1.8.0_40。
我用scala编写了一个spark程序,但是当我使用"spark-submit"提交我的项目时,我遇到了java.lang.ClassNotFoundException.
我的.sbt文件:
name:="Spark Project"
version:="1.0"
scalaVersion:="2.10.5"
libraryDependencies+="org.apache.spark" %% "spark-core" % "1.3.0"
Run Code Online (Sandbox Code Playgroud)
我的.scala文件的名称是SparkProject.scala,其中对象的名称也是SparkProject.
/* SparkProject.scala */
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object SparkProject {
def main(args: Array[String]) {
val logFile = "YOUR_SPARK_HOME/README.md" // Should be some file on your system
val conf = new SparkConf().setAppName("Simple Application")
val sc = new SparkContext(conf)
val logData = sc.textFile(logFile, 2).cache()
val numAs = logData.filter(line => line.contains("a")).count()
val numBs = logData.filter(line => line.contains("b")).count()
println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
}
}
Run Code Online (Sandbox Code Playgroud)
我提交项目的命令是: …
我正在使用Google maps API开发一个gis应用程序.目前我正在使用Postgis数据库.
我正在考虑转换到mongodb,我有以下问题,
mongodb是存储GIS数据的可行选择吗?(任何其他NoSQL引擎是否可行?)
django-nonrel是否为mongodb支持修改了django.contrib.gis模块?它的效果如何?
提前致谢 :)
我正在尝试transform()用DatasetJava 编写如下:
Function1<Dataset<Long>,Dataset<Long>> withDoubled = (Dataset<Long> numbers) -> numbers.withColumn("doubled",numbers.col("id").multiply(2));
spark.range(10).transform(withDoubled).show();
Run Code Online (Sandbox Code Playgroud)
但是,Function1<>被标记为错误,表示有多个抽象函数需要重写。我该如何将其写为 lambda?
我一直在尝试将 RDD 转换为数据帧。为此,需要定义类型而不是 Any。我正在使用 spark MLLib PrefixSpan,这就是 freqSequence.sequence 的来源。我从一个包含 Session_ID、视图和购买作为字符串数组的数据框开始:
viewsPurchasesGrouped: org.apache.spark.sql.DataFrame =
[session_id: decimal(29,0), view_product_ids: array[string], purchase_product_ids: array[string]]
Run Code Online (Sandbox Code Playgroud)
然后我计算频繁模式并在数据框中需要它们,以便我可以将它们写入 Hive 表。
val viewsPurchasesRddString = viewsPurchasesGrouped.map( row => Array(Array(row(1)), Array(row(2)) ))
val prefixSpan = new PrefixSpan()
.setMinSupport(0.001)
.setMaxPatternLength(2)
val model = prefixSpan.run(viewsPurchasesRddString)
val freqSequencesRdd = sc.parallelize(model.freqSequences.collect())
case class FreqSequences(views: Array[String], purchases: Array[String], support: Long)
val viewsPurchasesDf = freqSequencesRdd.map( fs =>
{
val views = fs.sequence(0)(0)
val purchases = fs.sequence(1)(0)
val freq = fs.freq
FreqSequences(views, purchases, freq)
}
)
viewsPurchasesDf.toDF() // …Run Code Online (Sandbox Code Playgroud) 我想在Scala中创建通用(不变)方法,该方法将元素从源列表复制到目标列表.在Java中,java.util.Collections中有copy方法(参见http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Collections.html#copy%28java.util.List, %20java.util.List%29).我知道在Scala List中是不可变对象所以我想创建并返回新列表.
我写了以下代码:
def copy[T](dest:List[T], src:List[T]):List[T] = {
if(dest.length<src.length) throw new Exception("IndexOutOfBoundsException")
else if(src==Nil) dest
else {
var ret = dest
ret = dest.updated(0, src.first)
var i=1
val f:(T=>Unit) = a => {
if(i<src.length) ret=ret.updated(i, src(i))
i+=1
()
}
dest.foreach(f)
ret
}
}
Run Code Online (Sandbox Code Playgroud)
但我认为它可以写得更好.你能帮我写出更好的代码吗?提前致谢.
编辑:也许我表达不清楚我想做什么.我有两个列表(scala.collection.immutable.List),例如src(length = x)和dest(length = y> = x).我想用src列表中的元素替换dest列表的前x个元素.
我们计划基于play框架开发一些微服务。他们将提供 REST API,其中很多将在后台使用 akka 集群/集群分片。
我们希望有一个 api 网关来公开我们内部服务的 api,但我们面临一个大问题:
- 每个服务的多个实例将在某个 ip 和端口下运行。
- API 网关如何知道服务实例在哪里运行?
- 是否有类似负载平衡器的东西可以跟踪所有正在运行的服务?
哪种解决方案可以填补“API 网关”/“负载均衡器”的空缺?
我有一个数据框,其数据如下
Key Today MTD QTD HTD YTD
K1 10 20 10 20 50
K2 20 30 20 10 60
Run Code Online (Sandbox Code Playgroud)
我正在寻找输出像
Key PRD Amt
K1 Today 10
K1 MTD 20
K1 QTD 10
K1 HTD 20
K1 YTD 50
Run Code Online (Sandbox Code Playgroud)
我尝试使用Pivot,但是它提供了其他方法。我不确定是否可以使用平面地图或地图?请指教。
编辑 - 我发现这本书是为scala写的,1.6但剩下的就是2.11.
我正在尝试实现Michael Malak和Robin East的Spark GraphX in Action书中的加权最短路径算法.有问题的部分是清单6.4"执行使用面包屑的最短路径算法",这里是第6章.
我有自己的图表,我是从两个RDD创建的.有344436顶点和772983边.我可以使用原生GraphX库执行未加权的最短路径计算,我对图形构造很有信心.
在这种情况下,我使用他们的Dijkstra实现如下:
val my_graph: Graph[(Long),Double] = Graph.apply(verticesRDD, edgesRDD).cache()
def dijkstra[VD](g:Graph[VD,Double], origin:VertexId) = {
var g2 = g.mapVertices(
(vid,vd) => (false, if (vid == origin) 0 else Double.MaxValue, List[VertexId]())
)
for (i <- 1L to g.vertices.count-1) {
val currentVertexId = g2.vertices
.filter(!_._2._1)
.fold((0L, (false, Double.MaxValue, List[VertexId]())))(
(a,b) => if (a._2._2 < b._2._2) a else b)
)
._1
val newDistances = …Run Code Online (Sandbox Code Playgroud) 我有一个带有单个流/图的Akka Stream应用程序。我想测量源处的流速并每5秒记录一次,就像“最近5秒钟收到3条消息”一样。我尝试过
someOtherFlow
.groupedWithin(Integer.MAX_VALUE, 5 seconds)
.runForeach(seq =>
log.debug(s"received ${seq.length} messages in the last 5 seconds")
)
Run Code Online (Sandbox Code Playgroud)
但仅在有消息时输出,而在有0条消息时则没有空白列表。我也想要0。这可能吗?
scala ×10
java ×3
akka ×2
akka-stream ×2
apache-spark ×2
sbt ×2
apache-poi ×1
api-gateway ×1
arrays ×1
browserify ×1
commonjs ×1
copy ×1
dataframe ×1
django ×1
future ×1
gis ×1
java-8 ×1
lambda ×1
list ×1
mongodb ×1
sbt-web ×1
spark-graphx ×1