假设我们可以直接从HDFS而不是使用HBase API来更快地访问数据,我们正在尝试基于HBase的表快照构建RDD.
所以,我有一个名为"dm_test_snap"的快照.我似乎能够使大多数配置工作正常,但我的RDD为空(尽管Snapshot本身存在数据).
我有一段时间找到一个使用Spark对HBase快照进行离线分析的人的例子,但我不敢相信我一个人试图让这个工作起来.非常感谢任何帮助或建议.
这是我的代码片段:
object TestSnap {
def main(args: Array[String]) {
val config = ConfigFactory.load()
val hbaseRootDir = config.getString("hbase.rootdir")
val sparkConf = new SparkConf()
.setAppName("testnsnap")
.setMaster(config.getString("spark.app.master"))
.setJars(SparkContext.jarOfObject(this))
.set("spark.executor.memory", "2g")
.set("spark.default.parallelism", "160")
val sc = new SparkContext(sparkConf)
println("Creating hbase configuration")
val conf = HBaseConfiguration.create()
conf.set("hbase.rootdir", hbaseRootDir)
conf.set("hbase.zookeeper.quorum", config.getString("hbase.zookeeper.quorum"))
conf.set("zookeeper.session.timeout", config.getString("zookeeper.session.timeout"))
conf.set("hbase.TableSnapshotInputFormat.snapshot.name", "dm_test_snap")
val scan = new Scan
val job = Job.getInstance(conf)
TableSnapshotInputFormat.setInput(job, "dm_test_snap",
new Path("hdfs://nameservice1/tmp"))
val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableSnapshotInputFormat],
classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
classOf[org.apache.hadoop.hbase.client.Result])
hBaseRDD.count()
System.exit(0)
}
}
Run Code Online (Sandbox Code Playgroud)
更新以包含解决方案 诀窍是,正如@Holden在下面提到的那样,conf没有通过.为了解决这个问题,我能够通过将对newAPIHadoopRDD的调用更改为:
val hBaseRDD …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Systemd原型获得rpm.但是,我在build.sbt中导入错误.我使用sbt版本0.13.11具体来说,我看到:
build.sbt:3: error: object systemloader is not a member of package com.typesafe.sbt.packager.archetypes
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用sbt-native-packager的1.1.4版.这是我的plugins.sbt:
// The Typesafe repository
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
// The Sonatype snapshots repository
resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.1.4")
Run Code Online (Sandbox Code Playgroud)
我的build.sbt:
import com.typesafe.sbt.packager.linux.LinuxSymlink
import com.typesafe.sbt.packager.rpm.RpmPlugin.autoImport._
import com.typesafe.sbt.packager.archetypes.systemloader._
scalaVersion := "2.11.7"
name := "systemdtest"
organization := "myTestOrg"
enablePlugins(JavaServerAppPackaging, RpmPlugin, SystemdPlugin)
version := "1.0"
// RPM SETTINGS
rpmVendor := "me"
packageSummary in Linux := "A summary"
packageDescription := "Do some stuff"
rpmRelease := …Run Code Online (Sandbox Code Playgroud) 这是我第一次尝试java问题,作为编程任务的一部分.
我必须创建一个程序来计算用户输入的数字列表的平均值.输入0时应终止数据.我的问题是这个"所有的负数都应该被忽视"
由于某种原因,下面的代码不起作用,当我输入一个负数时,它应该被忽略,但由于某种原因它终止了数据
import java.util.*;
class Task_8
{
public static void main()
{
Scanner inputLine = new Scanner(System.in);
float row, numberentered, numbersum = 0, negativenumber = 0;
double result, count = 0;
System.out.println ("Welcome to Task 8 of 10 of my Programming Assignment... Nearly There!");
System.out.println ("_____________________________________________________________________");
System.out.println ();
System.out.println ("Enter as many numbers as you like and this program will tell you the arithmatic mean");
System.out.println ("Terminate data entry by entering 0");
do{
System.out.print ("Please enter a number: "); …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个方法,我可以在使用该文件的完整路径的扩展类中使用.但是,当我使用时,__FILE__我只返回继承方法定义的类的路径.这是一个例子:
foo.php
class foo
{
public function getFullFile()
{
return __FILE__;
}
}
Run Code Online (Sandbox Code Playgroud)
bar.php
class bar extends foo
{
public function getFile()
{
return __FILE__;
}
}
Run Code Online (Sandbox Code Playgroud)
使用example.php
$foo = new foo();
echo $foo->getFullFile() . PHP_EOL;
$bar = new bar();
echo $bar->getFullFile() . PHP_EOL;
echo $bar->getFile() . PHP_EOL;
Run Code Online (Sandbox Code Playgroud)
运行example.php的输出:
/my/full/path/foo.php
/my/full/path/foo.php
/my/full/path/bar.php
Run Code Online (Sandbox Code Playgroud)
这是预期的行为吗?有没有更好的方法来实现这一目标?我做了一些疯狂的蠢事吗?
scala ×2
apache-spark ×1
average ×1
hadoop ×1
hbase ×1
inheritance ×1
java ×1
loops ×1
php ×1
sbt ×1
while-loop ×1