例如,我输入了字符串:" qwerty1qwerty2 ";
作为输出我想[1,2].
我目前的实施如下:
import java.util.ArrayList;
import java.util.List;
public class Test1 {
public static void main(String[] args) {
String inputString = args[0];
String digitStr = "";
List<Integer> digits = new ArrayList<Integer>();
for (int i = 0; i < inputString.length(); i++) {
if (Character.isDigit(inputString.charAt(i))) {
digitStr += inputString.charAt(i);
} else {
if (!digitStr.isEmpty()) {
digits.add(Integer.parseInt(digitStr));
digitStr = "";
}
}
}
if (!digitStr.isEmpty()) {
digits.add(Integer.parseInt(digitStr));
digitStr = "";
}
for (Integer i : digits) {
System.out.println(i);
}
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试根据某些数据手动创建一个 pyspark 数据框:
row_in=[(1566429545575348),(40.353977),(-111.701859)]
rdd=sc.parallelize(row_in)
schema = StructType([StructField("time_epocs", DecimalType(), True),StructField("lat", DecimalType(),True),StructField("long", DecimalType(),True)])
df_in_test=spark.createDataFrame(rdd,schema)
Run Code Online (Sandbox Code Playgroud)
当我尝试显示数据框时,这会出错,因此我不确定如何执行此操作。
但是,Spark 文档在这里对我来说似乎有点复杂,当我尝试按照这些说明进行操作时,我遇到了类似的错误。
有谁知道如何做到这一点?
我是hadoop的新手.你能告诉我hadoop有哪些不同的发行版.
我看到标准的apache hadoop和Cloudera分配为hadoop(CDH).
这两者有什么区别?CDH是免费的还是商业的?
场景:我的输入将是多个小型XML,并且我们希望将这些XML作为RDD读取.与另一个数据集执行连接并形成RDD并将输出作为XML发送.
是否可以使用spark读取XML,将数据加载为RDD?如果可能,将如何读取XML.
示例XML:
<root>
<users>
<user>
<account>1234<\account>
<name>name_1<\name>
<number>34233<\number>
<\user>
<user>
<account>58789<\account>
<name>name_2<\name>
<number>54697<\number>
<\user>
<\users>
<\root>
Run Code Online (Sandbox Code Playgroud)
如何将其加载到RDD中?
所以假设我有一个3000行的rdd.2000个第一行是1类,最后1000行是class2.RDD分区为100个分区.
打电话的时候 RDD.randomSplit(0.8,0.2)
该功能是否也会改变rdd?我们的分裂只是连续20%的rdd样品?或者它是随机选择20%的分区?
理想情况下,生成的拆分与原始RDD具有相同的类分布.(即2:1)
谢谢
我有一个计数器,动画到HTML中定义的最终数字.但是我希望这个动画一旦在视口中就会发生.
$(document).ready(function() {
$(function($, win) {
$.fn.inViewport = function(cb) {
return this.each(function(i, el) {
function visPx() {
var H = $(this).height(),
r = el.getBoundingClientRect(),
t = r.top,
b = r.bottom;
return cb.call(el, Math.max(0, t > 0 ? H - t : (b < H ? b : H)));
}
visPx();
$(win).on("resize scroll", visPx);
});
};
}(jQuery, window));
$(".fig-number").inViewport(function(px) {
$(this).each(function() {
$(this).prop('Counter', 0).animate({
Counter: $(this).text()
}, {
duration: 1000,
step: function(now) {
$(this).text(Math.ceil(now));
}
}); …Run Code Online (Sandbox Code Playgroud) 我有这个C程序,至少我认为它是(文件:spa.c,spa.h).有没有什么方法可以从Python执行这个脚本而不将额外的参数传递给Python解释器(如果没有,参数会是什么?)
更新:感谢您的回复.源代码可以在http://www.nrel.gov/midc/spa/#register找到
(请不要被网址中的'注册'吓到,如果你填写表格,你可以立即下载文件(没有验证邮件等)我会尝试你的建议并报告结果.
更新2:我使用gcc编译了源代码,但现在它在尝试调用()时给了我一个权限,即使以root身份运行python(im在Ubuntu 10:10上).
更新3 [Errno 8] Exec格式错误
更新4好的,我搞定了.程序使用printf输出值:
>>> call(['/path'])
Julian Day: 2452930.312847
L: 2.401826e+01 degrees
B: -1.011219e-04 degrees
R: 0.996542 AU
H: 11.105902 degrees
Delta Psi: -3.998404e-03 degrees
Delta Epsilon: 1.666568e-03 degrees
Epsilon: 23.440465 degrees
Zenith: 50.111622 degrees
Azimuth: 194.340241 degrees
Incidence: 25.187000 degrees
Sunrise: 06:12:43 Local Time
Sunset: 17:20:19 Local Time
Run Code Online (Sandbox Code Playgroud)
谢谢大家!
有没有办法在HDFS上删除超过10天的文件?
在Linux中我会使用:
find /path/to/directory/ -type f -mtime +10 -name '*.txt' -execdir rm -- {} \;
Run Code Online (Sandbox Code Playgroud)
有没有办法在HDFS上执行此操作?(根据文件创建日期删除)
当我尝试在主节点上启动hadoop时,我得到以下输出.并且namenode没有启动.
[hduser@dellnode1 ~]$ start-dfs.sh
starting namenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hduser-namenode-dellnode1.library.out
dellnode1.library: datanode running as process 5123. Stop it first.
dellnode3.library: datanode running as process 4072. Stop it first.
dellnode2.library: datanode running as process 4670. Stop it first.
dellnode1.library: secondarynamenode running as process 5234. Stop it first.
[hduser@dellnode1 ~]$ jps
5696 Jps
5123 DataNode
5234 SecondaryNameNode
Run Code Online (Sandbox Code Playgroud) 我在我的hortonworks集群上安装了Spark 1.6.2和Spark 2.0.
这两个版本都安装在Hadoop Cluster of 5节点的节点上.
每次我开始spark-shell我得到:
$ spark-shell
Multiple versions of Spark are installed but SPARK_MAJOR_VERSION is not set
Spark1 will be picked by default
Run Code Online (Sandbox Code Playgroud)
当我检查我得到的版本时:
scala> sc.version
res0: String = 1.6.2
Run Code Online (Sandbox Code Playgroud)
如何启动其他版本(Spark2.0的Spark-shell)?