当我运行docker时,下载的docker图像(似乎是)存储在/var/lib/docker某个地方.
由于此目录上的磁盘空间有限,我正在同时为多台机器配置docker; 有没有办法将此默认位置更改为ie /mnt/hugedrive/docker/?
我使用以下命令用一堆包含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) 我已经在互联网上阅读了有关回调的内容,但在我的情况下我无法理解它们.
我有这个功能,它运行时会记录到控制台.但是我现在需要在另一个函数中使用此响应,而我正在努力这样做.
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)
我真的很难绕过回调,我在这里盯着自己.
我可以让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) 我一直在尝试获取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) 在我们的集群上,我们设置了动态资源池.
设置规则,以便第一个纱线将查看指定的队列,然后查看用户名,然后查看主要组...
但是使用distcp我似乎无法指定队列,它只是将其设置为主要组.
这就是我现在运行的方式(不起作用):
hadoop distcp -Dmapred.job.queue.name:root.default .......
Run Code Online (Sandbox Code Playgroud) 我正在开发一个NRT解决方案,要求我经常更新Impala表上的元数据.
目前,此失效是在我的spark代码运行后完成的.我希望通过直接从我的Spark代码执行此刷新/无效来加快速度.
什么是最有效的方法?
我想将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").
所以联盟并没有帮助我,文档也没有.如果可能的话,我想把这个额外的I/O从我的工作中解脱出来.我错过了一些未记载的信息,还是不可能(还)?
我有一个从 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) apache-spark ×5
hadoop ×3
scala ×3
amazon-ec2 ×1
callback ×1
cloudera ×1
distcp ×1
docker ×1
hadoop-yarn ×1
hbase ×1
impala ×1
javascript ×1
jmx ×1
node.js ×1
phoenix ×1
visualvm ×1