Tag: scala

Spark SQL失败,因为“常量池已超过JVM限制0xFFFF”

我在EMR 4.6.0 + Spark 1.6.1上运行此代码: val sqlContext = SQLContext.getOrCreate(sc) val inputRDD = sqlContext.read.json(input) try { inputRDD.filter(“`first_field` is not null OR `second_field` is not null”).toJSON.coalesce(10).saveAsTextFile(output) logger.info(“DONE!”) } catch { case e : Throwable => logger.error(“ERROR” + e.getMessage) } 在saveAsTextFile的最后一个阶段,它失败并显示以下错误: 16/07/15 08:27:45 ERROR codegen.GenerateUnsafeProjection: failed to compile: org.codehaus.janino.JaninoRuntimeException: Constant pool has grown past JVM limit of 0xFFFF […]

如何从Scala代码动态填充java.util.HashMap?

我是从ScalaTestunit testingjava代码,并希望在声明它的同一语句中填充java.util.HashMap。 可以在Scala中执行此操作吗?

如何将Java字节数组转换为Scala字节数组?

我是Scala的新手,目前正在参与涉及Java和Scala模块的项目。 现在我想使用byte []类型的参数从Java调用Scala方法。 Scala方法有签名: def foo(data: Array[Byte]) Java调用如下所示: foo(x) ,其中x的类型为byte[] 。 IDE告诉我它不可能: The method foo(Array) in the type Bar is not applicable for the arguments (byte[]) 作为附加约束,不优选更改Scala方法。 在Java方面,我尝试使用Byte[] ,但这并没有解决问题。 必须存在一些转换?

如何从原始数据创建BufferedImage

我正在尝试从原始样本中获取BufferedImage,但是我尝试读取超出可用数据范围的例外情况,我只是不明白。 我想要做的是: val datasize = image.width * image.height val imgbytes = image.data.getIntArray(0, datasize) val datamodel = new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, image.width, image.height, Array(image.red_mask.intValue, image.green_mask.intValue, image.blue_mask.intValue)) val buffer = datamodel.createDataBuffer val raster = Raster.createRaster(datamodel, buffer, new Point(0,0)) datamodel.setPixels(0, 0, image.width, image.height, imgbytes, buffer) val newimage = new BufferedImage(image.width, image.height, BufferedImage.TYPE_INT_RGB) newimage.setData(raster) 不幸的是我得到: Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 32784 […]

卡夫卡:不能创建多个流消费者

我刚刚起步并运行Kafka 0.8 beta 1.我有一个非常简单的示例启动和运行,问题是,我只能让一个消息消费者工作,而不是几个。 也就是说,runSingleWorker()方法工作。 run()方法不起作用: import kafka.consumer.ConsumerIterator; import kafka.consumer.KafkaStream; import kafka.consumer.ConsumerConfig; import kafka.javaapi.consumer.ConsumerConnector; import java.util.Map; import java.util.List; import java.util.HashMap; import java.util.concurrent.Executors; import java.util.concurrent.ExecutorService; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import com.truecar.inventory.worker.core.application.config.AppConfig; public class ConsumerThreadPool { private final ConsumerConnector consumer; private final String topic; private ExecutorService executor; private static ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); public ConsumerThreadPool(String topic) […]

在Java中实现Scala PartialFunction的最简单方法是什么?

为了实现互操作性,我需要从Java代码传递Scala PartialFunction。 对于Function(Function1等),我可以使用匿名类型对AbstractFunction进行子类化,但对PartialFunction执行相同操作的最简单方法是什么? 在这种情况下,我很乐意将它作为Java中的“完整”函数,出现为所有值定义,但键入为PartialFunction。

Akka适用于具有瞬态网络覆盖的系统吗?

Akka是否适合在预期节点进出wifi覆盖范围的系统中使用? 必须考虑哪些方面(例如哪些传输协议是首选)?

在Java中始终抛出相同的exception实例

总是告诉我Javaexception处理非常昂贵。 我问在程序开头创建特定类型的exception实例是否是一个好习惯,而不创建新的exception实例,总是抛出相同的exception对象。 我只想举个例子。 常用代码: if (!checkSomething(myObject)) throw new CustomException(“your object is invalid”); 替代方案: static CustomException MYEXP = new CustomException(“your object is invalid”); //somewhere else if (!checkSomething(myObject)) throw MYEXP; 当然,我在这里做一些假设: MyCustomException没有参数 客户端代码,无论何时是一种良好的实践,都是基于exception处理的重量级,并且重构不是一种选择。 所以问题是: 这是一个好习惯吗? 这会损害一些JVM机制吗? 如果1为是,则有可能获得性能提升? (我想不是,但不确定) 如果1和3是肯定的,为什么不赞助作为练习? 如果1不是,为什么Martin Odersky在他对Scala的介绍中告诉我这是Scala在某些情况下的工作原理? (在28:30分,他告诉说实施rest已经抛出exception,观众说这很费时间并且他回复说每次都不会创建例外) Fosdem 2009 我希望这不是一个闲置/愚蠢的问题,我对此很好奇。 我认为exception处理的实际成本是处理而不是创建。 编辑添加了关于FOSDEM演示的精确讨论的参考 免责声明:我的代码没有像提议的那样工作,我无意管理这样的exception,我只是在做一个“假设”问题,而这种好奇心是从video的肯定中产生的。 我想:如果在Scala中完成,为什么不在Java中呢?

如何在scala中查找文件大小?

我正在写一个scala脚本,需要知道文件的大小。 我该怎么做呢? 在Python中,我会这样做 os.stat(‘somefile.txt’).st_size 在斯卡拉?

来自Java代码的嵌套Scala单例

我有以下Scala(2.8)代码: object A { val message = “hello” object B { val message = “world” } } 和类似的Java类: public class C { public static String message() { return “HELLO”; } public static class D { public static String message() { return “WORLD”; } } } 当我从Scala调用它们时,这些工作正如我所期望的那样: scala> A.message res0: java.lang.String = hello scala> ABmessage res1: […]