小编Hav*_*nar的帖子

如何更改默认的docker容器位置?

当我运行docker时,下载的docker图像(似乎是)存储在/var/lib/docker某个地方.

由于此目录上的磁盘空间有限,我正在同时为多台机器配置docker; 有没有办法将此默认位置更改为ie /mnt/hugedrive/docker/

docker

33
推荐指数
4
解决办法
3万
查看次数

如何在apache spark(scala)中迭代RDD

我使用以下命令用一堆包含2个字符串["filename","content"]的数组填充RDD.

现在,我希望迭代每个事件,以便对每个文件名和内容执行某些操作.

val someRDD = sc.wholeTextFiles("hdfs://localhost:8020/user/cloudera/*")
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到有关如何执行此操作的任何文档.

所以我想要的是:

foreach occurrence-in-the-rdd{
   //do stuff with the array found on loccation n of the RDD
} 
Run Code Online (Sandbox Code Playgroud)

scala apache-spark

21
推荐指数
2
解决办法
7万
查看次数

NodeJS获取异步返回值(回调)

我已经在互联网上阅读了有关回调的内容,但在我的情况下我无法理解它们.

我有这个功能,它运行时会记录到控制台.但是我现在需要在另一个函数中使用此响应,而我正在努力这样做.

var asyncJobInfo = function(jobID, next) {

    var oozie = oozieNode.createClient({ config: config });

    var command = 'job/' + jobID + '?show=info';

    console.log("running oozie command: " + command);

    oozie.get(command, function(error, response) {

    console.log("*****response would dump to console here:*****");
//  console.log(response);
    return response;
    });
};
Run Code Online (Sandbox Code Playgroud)

这是我应该得到的地方:(这显然不起作用,因为它不等待响应.)

exports.getJobInfoByID = function(req, res) {

    var jobIDParam = req.params.id;
    res.send(asyncJobInfo(jobIDParam));
}
Run Code Online (Sandbox Code Playgroud)

我真的很难绕过回调,我在这里盯着自己.

javascript callback node.js

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

使用Phoenix和Cloudera Hbase(从repo安装)

我可以让Phoenix在独立的Apache Hbase上工作

(注意,这一切都适用于RHEL6.5上的Hbase 1.0.0)

对于Hbase的Cloudera风味,但是如果没有它抛出异常,我永远不会让它工作.(甚至尝试过RHEL7 minimal as as OS)

对于Hbase 1.0,Phoenix 4.4也会发生同样的事情.

hbase(main):001:0> version
1.0.0-cdh5.4.4, rUnknown, Mon Jul  6 16:59:55 PDT 2015
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

    [ec2-user@ip-172-31-60-109 phoenix-4.5.0-HBase-1.0-bin]$ bin/sqlline.py localhost:2181:/hbase
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:localhost:2181:/hbase none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:localhost:2181:/hbase
15/08/06 03:10:25 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/08/06 03:10:26 WARN impl.MetricsConfig: Cannot locate configuration: tried hadoop-metrics2-phoenix.properties,hadoop-metrics2.properties
15/08/06 03:10:27 WARN ipc.CoprocessorRpcChannel: Call failed on IOException
org.apache.hadoop.hbase.DoNotRetryIOException: org.apache.hadoop.hbase.DoNotRetryIOException: SYSTEM.CATALOG: org.apache.hadoop.hbase.client.Scan.setRaw(Z)Lorg/apache/hadoop/hbase/client/Scan;
    at …
Run Code Online (Sandbox Code Playgroud)

hadoop hbase phoenix cloudera

14
推荐指数
1
解决办法
5002
查看次数

如何从EC2上的Spark Streaming向VisualVM报告JMX?

我一直在尝试获取Spark Streaming作业,在EC2实例上运行以使用JMX向VisualVM报告.

截至目前,我有以下配置文件:

火花/ conf目录/ metrics.properties:

*.sink.jmx.class=org.apache.spark.metrics.sink.JmxSink
master.source.jvm.class=org.apache.spark.metrics.source.JvmSource

worker.source.jvm.class=org.apache.spark.metrics.source.JvmSource

driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource

executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource
Run Code Online (Sandbox Code Playgroud)

我开始像这样的火花流工作:(之后添加的-D位希望远程访问ec2的jmx)

终端:

spark/bin/spark-submit --class my.class.StarterApp --master local --deploy-mode client \
  project-1.0-SNAPSHOT.jar \
    -Dcom.sun.management.jmxremote \
    -Dcom.sun.management.jmxremote.port=54321 \
    -Dcom.sun.management.jmxremote.authenticate=false \
    -Dcom.sun.management.jmxremote.ssl=false
Run Code Online (Sandbox Code Playgroud)

jmx visualvm amazon-ec2 apache-spark spark-streaming

5
推荐指数
1
解决办法
2867
查看次数

Hadoop:为distcp指定yarn队列

在我们的集群上,我们设置了动态资源池.

设置规则,以便第一个纱线将查看指定的队列,然后查看用户名,然后查看主要组...

但是使用distcp我似乎无法指定队列,它只是将其设置为主要组.

这就是我现在运行的方式(不起作用):

 hadoop distcp -Dmapred.job.queue.name:root.default .......
Run Code Online (Sandbox Code Playgroud)

hadoop hadoop-yarn distcp

5
推荐指数
2
解决办法
8801
查看次数

从spark代码中使元数据/刷新imapala无效

我正在开发一个NRT解决方案,要求我经常更新Impala表上的元数据.

目前,此失效是在我的spark代码运行后完成的.我希望通过直接从我的Spark代码执行此刷新/无效来加快速度.

什么是最有效的方法?

  • Oozie太慢了(开销30秒?不,谢谢)
  • 对(边缘)节点的SSH操作似乎是一个有效的解决方案,但感觉"hackish"
  • 我也没有看到从Spark的hive上下文中做到这一点的方法.

hadoop impala apache-spark

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

Spark合并数据帧与不匹配的模式没有额外的磁盘IO

我想将2个数据帧与(可能)不匹配的模式合并

org.apache.spark.sql.DataFrame = [name: string, age: int, height: int]
org.apache.spark.sql.DataFrame = [name: string, age: int]

scala> A.unionAll(B)
Run Code Online (Sandbox Code Playgroud)

会导致:

org.apache.spark.sql.AnalysisException: Union can only be performed on tables with the same number of columns, but the left table has 2 columns and the right has 3;
Run Code Online (Sandbox Code Playgroud)

我想从Spark内部做到这一点.但是,Spark文档只建议将整个2个数据帧写入目录并在使用时将其读回spark.read.option("mergeSchema", "true").

链接到docs

所以联盟并没有帮助我,文档也没有.如果可能的话,我想把这个额外的I/O从我的工作中解脱出来.我错过了一些未记载的信息,还是不可能(还)?

scala apache-spark

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

使用数据框架构的 Spark 地图数据框

我有一个从 JSON 对象创建的数据框。我可以查询此数据框并将其写入镶木地板。

由于我推断出模式,因此我不一定知道数据框中的内容。

有没有办法使用自己的模式将列名输出或映射数据框?

// The results of SQL queries are DataFrames and support all the normal  RDD operations.
// The columns of a row in the result can be accessed by field index:
df.map(t => "Name: " + t(0)).collect().foreach(println)

// or by field name:
df.map(t => "Name: " + t.getAs[String]("name")).collect().foreach(println)

// row.getValuesMap[T] retrieves multiple columns at once into a Map[String, T]
df.map(_.getValuesMap[Any](List("name", "age"))).collect().foreach(println)
// Map("name" -> "Justin", "age" -> 19)
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情

df.map (_.getValuesMap[Any](ListAll())).collect().foreach(println)
// Map ("name" -> "Justin", …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

2
推荐指数
1
解决办法
2万
查看次数