小编dmc*_*lis的帖子

Spark和HBase快照

假设我们可以直接从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)

hadoop hbase scala apache-spark

7
推荐指数
1
解决办法
1879
查看次数

Sbt native packager没有找到SystemdPlugin

我正在尝试使用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)

scala sbt sbt-native-packager

4
推荐指数
1
解决办法
947
查看次数

从Java中的数字列表中查找平均值

这是我第一次尝试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)

java loops average while-loop

3
推荐指数
2
解决办法
3899
查看次数

PHP __FILE__继承

我正在尝试编写一个方法,我可以在使用该文件的完整路径的扩展类中使用.但是,当我使用时,__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)

这是预期的行为吗?有没有更好的方法来实现这一目标?我做了一些疯狂的蠢事吗?

php inheritance

3
推荐指数
1
解决办法
1085
查看次数