我的集群:1个主服务器,11个从服务器,每个节点有6 GB内存.
我的设置:
spark.executor.memory=4g, Dspark.akka.frameSize=512
Run Code Online (Sandbox Code Playgroud)
这是问题所在:
首先,我从HDFS到RDD读取了一些数据(2.19 GB):
val imageBundleRDD = sc.newAPIHadoopFile(...)
Run Code Online (Sandbox Code Playgroud)
其次,在这个RDD上做点什么:
val res = imageBundleRDD.map(data => {
val desPoints = threeDReconstruction(data._2, bg)
(data._1, desPoints)
})
Run Code Online (Sandbox Code Playgroud)
最后,输出到HDFS:
res.saveAsNewAPIHadoopFile(...)
Run Code Online (Sandbox Code Playgroud)
当我运行我的程序时,它显示:
.....
14/01/15 21:42:27 INFO cluster.ClusterTaskSetManager: Starting task 1.0:24 as TID 33 on executor 9: Salve7.Hadoop (NODE_LOCAL)
14/01/15 21:42:27 INFO cluster.ClusterTaskSetManager: Serialized task 1.0:24 as 30618515 bytes in 210 ms
14/01/15 21:42:27 INFO cluster.ClusterTaskSetManager: Starting task 1.0:36 as TID 34 on executor 2: Salve11.Hadoop (NODE_LOCAL)
14/01/15 21:42:28 INFO …Run Code Online (Sandbox Code Playgroud) 我有一个像下面的文件夹结构:
- main
-- java
-- resources
-- scalaresources
--- commandFiles
Run Code Online (Sandbox Code Playgroud)
在那个文件夹中,我有我必须阅读的文件.这是代码:
def readData(runtype: String, snmphost: String, comstring: String, specificType: String): Unit = {
val realOrInvFile = "/commandFiles/snmpcmds." +runtype.trim // these files are under commandFiles folder, which I have to read.
try {
if (specificType.equalsIgnoreCase("Cisco")) {
val specificDeviceFile: String = "/commandFiles/snmpcmds."+runtype.trim+ ".cisco"
val realOrInvCmdsList = scala.io.Source.fromFile(realOrInvFile).getLines().toList.filterNot(line => line.startsWith("#")).map{
//some code
}
val specificCmdsList = scala.io.Source.fromFile(specificDeviceFile).getLines().toList.filterNot(line => line.startsWith("#")).map{
//some code
}
}
} catch {
case e: Exception => e.printStackTrace
} …Run Code Online (Sandbox Code Playgroud) 当我在SBT会话期间第一次运行我的项目时,它在尝试访问MySQL数据库时抛出以下异常:
java.lang.NoClassDefFoundError:scala/Ordered
当我再次运行它(以及之后的任何时间,在同一个SBT会话期间),它会抛出另一个:
java.sql.SQLException:没有为jdbc找到合适的驱动程序:mysql:// localhost/...
当我使用NetBeans时,相同的代码工作正常.现在,当我使用SBT构建和Kate手动编辑和管理我的项目时,我得到了这些运行时错误.
MySQL JDBC驱动程序(从MySQL.com下载)JAR位于项目的lib目录中,我放在那里的所有其他库都可以正常工作.
这是代码:
import java.sql._
...
// read
val dbc : Connection = DriverManager.getConnection("jdbc:mysql://localhost/...")
val st : Statement = dbc.createStatement
val rs : ResultSet = st.executeQuery("SELECT ...")
if(rs.first) result = rs.getDouble("field")
dbc.close
...
// write
val dbc : Connection = DriverManager.getConnection("jdbc:mysql://localhost/...")
val st : Statement = dbc.createStatement
st.execute("UPDATE ...")
dbc.close
Run Code Online (Sandbox Code Playgroud)
我看过一个看起来非常相关的问题,但仍然没有答案.
我正在为我们的项目(Weld)创建Maven 2原型.我希望能够根据在其中定义的属性的值来控制将哪些文件放入生成的项目中archetype:generate.例如,我预见到以下提示:
Define value for groupId: : com.example
Define value for artifactId: : myproject
Define value for package: com.example: :
Define value for includeGradleSupport: : y
Run Code Online (Sandbox Code Playgroud)
根据includeGradleSupport的值,我想build.gradle在生成的项目中包含(或不包括)该文件.如果用户不想要Gradle支持,我不希望用不必要的文件混乱生成的项目.
另一个例子是,如果用户想要Jetty支持,我可能需要提供一个Jetty Web片段(也许是为了激活一个监听器).
这完全取决于开发人员打算使用的项目定制.虽然我可以创建一个完整的其他原型,但有时候这些更改很轻微,以至于包含/排除文件会更容易.
有没有办法使用archetype-metadata.xml描述符控制此行为?
我有一个存储在HDFS中的文件 part-m-00000.gz.parquet
我试图运行,hdfs dfs -text dir/part-m-00000.gz.parquet但它已经压缩,所以我运行gunzip part-m-00000.gz.parquet但它没有解压缩文件,因为它无法识别.parquet扩展名.
如何获取此文件的架构/列名称?
我是Scala编程的新手,我想在Scala中读取属性文件.
我找不到任何API来读取Scala中的属性文件.
如果有任何API用于读取Scala中的属性文件,请告知我们.
我很困惑为什么Scala抱怨这段代码.我有两个相互依赖的课程.当我尝试创建A没有类型声明的新实例时,代码将无法编译.
class A( b:B ) {
}
class B( a:A ){
}
val y = new A ( new B( y ) ); // gives recursive value y needs type
val z:A = new A ( new B( y ) ); // ok
Run Code Online (Sandbox Code Playgroud)
为什么编译器不知道y我声明的类型new A
?
我试图弄清楚如何将AngularJS范围变量绑定到CSS语法中.我认为问题在于大括号.这是我基本上要做的事情:
<style>.css_class {background:{{ angular_variable }}; color:#ffffff;}</style>
<style>.css_rule {background:{{ "#000000" }}; color:#ffffff;}</style>
<style>.css_rule {background:{{ var | someFilter }}; color:#ffffff;}</style>
Run Code Online (Sandbox Code Playgroud)
关于如何实现这一点的任何想法?谢谢!
我正在使用jQuery,JavaScript和HTML开发PhoneGap Android移动应用程序.我想获得移动IMEI.我在本教程中尝试了这段代码.
我得到的数字是这样的:97734a345d234d.我已经检查了我的设备以获取IMEI号码*#06#.我不知道它是否正确.
我在FluentWait和之间感到困惑WebDriverWait。
FluentWait并且WebDriverwait两者都使用相同的功能,例如忽略异常、更改轮询时间间隔、预期条件等。
根据我的理解,两者都实现了Wait接口。另外WebDriverWait扩展FluentWait(这意味着所有功能也存在于 中WebDriverWait)。
WebDriverWait中不存在的额外功能是FluentWait什么?