小编mt8*_*t88的帖子

Pyspark:例外:在向驱动程序发送端口号之前退出Java网关进程

我正试图在macbook air上运行pyspark.当我尝试启动它时,我收到错误:

Exception: Java gateway process exited before sending the driver its port number
Run Code Online (Sandbox Code Playgroud)

当sc =启动时调用SparkContext().我试过运行以下命令:

./bin/pyspark
./bin/spark-shell
export PYSPARK_SUBMIT_ARGS="--master local[2] pyspark-shell"
Run Code Online (Sandbox Code Playgroud)

无济于事.我也看过这里:

Spark + Python - 在向驱动程序发送端口号之前退出Java网关进程?

但问题从未得到解答.请帮忙!谢谢.

python java macos apache-spark pyspark

38
推荐指数
10
解决办法
6万
查看次数

Spark Scala:如何转换DF中的列

我在Spark中有一个数据框,有很多列和我定义的udf.我希望返回相同的数据帧,除非转换了一列.此外,我的udf接受一个字符串并返回一个时间戳.是否有捷径可寻?我试过了

val test = myDF.select("my_column").rdd.map(r => getTimestamp(r)) 
Run Code Online (Sandbox Code Playgroud)

但这会返回一个RDD,只返回已转换的列.

scala apache-spark

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

Spark Scala:按小时或分钟两列的DateDiff

我在数据框中有两个时间戳列,我希望得到它的小时差,或者小时差.目前,我可以通过这样做来获得日常差异,四舍五入

val df2 = df1.withColumn("time", datediff(df1("ts1"), df1("ts2")))
Run Code Online (Sandbox Code Playgroud)

但是,当我查看文档页面 https://issues.apache.org/jira/browse/SPARK-8185时, 我没有看到任何额外的参数来更改单位.他们应该为此使用不同的功能吗?

scala apache-spark

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

将jpeg字符串转换为PIL图像对象

我已经从应用程序的后端传递了一个文件列表,这些文件应该是jpeg文件.然而,对于我的生活,我无法将它们转换为PIL图像对象.我打电话的时候

str(curimg)
Run Code Online (Sandbox Code Playgroud)

我回来了:

<type 'str'>
Run Code Online (Sandbox Code Playgroud)

.我已经尝试过使用open(),. read,io.BytesIO(img.read()并且对它没有任何作用,但它一直把它看作一个字符串.当我打印字符串时,我会得到无法识别的字符.有没有人知道如何告诉python如何将这个字符串作为jpeg解释并将其转换为一个药丸图像,我可以调用.size和np.array?

python jpeg python-imaging-library

9
推荐指数
2
解决办法
9351
查看次数

Matrix上的Python PCA太大而无法融入内存

我有一个100,000行×27,000列的csv,我试图在PCA上生成100,000行X 300列矩阵.csv大9GB.这是我正在做的事情:

from sklearn.decomposition import PCA as RandomizedPCA
import csv
import sys
import numpy as np
import pandas as pd

dataset = sys.argv[1]
X = pd.DataFrame.from_csv(dataset)
Y = X.pop("Y_Level")
X = (X - X.mean()) / (X.max() - X.min())
Y = list(Y)
dimensions = 300
sklearn_pca = RandomizedPCA(n_components=dimensions)
X_final = sklearn_pca.fit_transform(X)
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码时,我的程序在执行.from_csv步骤时被杀死.我已经能够通过将csv分成10,000组来解决这个问题; 逐个读取它们,然后调用pd.concat.这允许我在被杀之前进入标准化步骤(X-X.mean()).... 我的数据对我的macbook空间来说太大了吗?或者有更好的方法来做到这一点.我真的很想将我拥有的所有数据用于我的机器学习应用程序.


如果我想按照下面的答案建议使用增量PCA,我会这样做吗?:

from sklearn.decomposition import IncrementalPCA
import csv
import sys
import numpy as np
import pandas as pd

dataset = sys.argv[1]
chunksize_ = 10000
#total_size is 100000
dimensions …
Run Code Online (Sandbox Code Playgroud)

python machine-learning pca pandas scikit-learn

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

在R中循环数据帧长度的正确方法

经过今天的大量调试,令我沮丧的是,我发现:

for (i in 1:0) {
     print(i)
}
Run Code Online (Sandbox Code Playgroud)

实际上在R中分别打印1和0.问题出现在写作时

for (i in 1:nrow(myframe) {
     fn(i)
}
Run Code Online (Sandbox Code Playgroud)

如果nrow(myframe)== 0,我原本打算不执行.是正确的纠正:

if (nrow(myvect) != 0) {
    for (i in 1:nrow(myframe) {
        fn(i)
    }
}
Run Code Online (Sandbox Code Playgroud)

或者是否有更合适的方式在R中做我想做的事情?

loops r

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

R 为线图指定 x 轴刻度

我有一些时间序列,其中有 200 个值与间隔内的 200 个不同时间相关联。绘制线图后,我想手动告诉 R 只显示我指定的某些特定值的 x 轴刻度。然后,我想指定一个不同的名称,即日期字符串,在这些刻度处而不是数值上绘制。我看过axis(),但我无法将整个过程放在一起。我希望绘制整个折线图,而不仅仅是我指定的 x 标签。

例如:如果我有: y = c(227, 342, 121, 275, 354, 999, 221, 475, 867, 347, 541) x = c(1, 5, 10, 15, 20, 25, 30 ,35, 40, 45, 50)

我想要 plot(x, y, "l") 但 x 轴只在 c(10, 30, 40) 处打勾。对于这些刻度,我想分别关联 c("March", "June", "August") 并将这些名称作为这三个刻度的标签。

plot r axis-labels

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

Spark Scala:如何将Dataframe [vector]转换为DataFrame [f1:Double,...,fn:Double]]

我只是使用标准缩放器来规范我的ML应用程序的功能.选择缩放功能后,我想将其转换回双打数据帧,尽管我的矢量长度是任意的.我知道如何使用特定的3个功能

myDF.map{case Row(v: Vector) => (v(0), v(1), v(2))}.toDF("f1", "f2", "f3")
Run Code Online (Sandbox Code Playgroud)

但不是任意数量的功能.是否有捷径可寻?

例:

val testDF = sc.parallelize(List(Vectors.dense(5D, 6D, 7D), Vectors.dense(8D, 9D, 10D), Vectors.dense(11D, 12D, 13D))).map(Tuple1(_)).toDF("scaledFeatures")
val myColumnNames = List("f1", "f2", "f3")
// val finalDF = DataFrame[f1: Double, f2: Double, f3: Double] 
Run Code Online (Sandbox Code Playgroud)

编辑

我在创建数据帧时发现了如何解压缩到列名,但是仍然无法将向量转换为创建数据帧所需的序列:

finalDF = testDF.map{case Row(v: Vector) => v.toArray.toSeq /* <= this errors */}.toDF(List("f1", "f2", "f3"): _*)
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql apache-spark-ml

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

Pig round down to the nth decimal place

How do you round a float or double down to the nth decimal place in pig. For example

f(3.999999, 1) =  3.9
f(3.42317, 2) = 3.42
f(1.03, 1) = 1.0
Run Code Online (Sandbox Code Playgroud)

I really only need to round to the 1st decimal place but thought i'd leave the question general. I saw the "pig round decimal to two places" question but the answer wasn't explained to the point where i could adapt it to this. Thanks


Answer

Turns out math solves this …

rounding apache-pig

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

NetworkX 在有向图中查找特定节点的 root_node

假设我在网络 X 中有一个有向图 G,使得:

  1. G中有多个树
  2. G 中的每个节点 N 恰好有 1 个或 0 个父节点。

对于特定节点 N1,我想找到它所在的树的根节点(其祖先的度数为 0)。在网络 x 中是否有一种简单的方法可以做到这一点?

我看了看: 在networkx(Python)中获取有向图的根(头) 但是我的图中有多个根节点。只有一个根节点恰好与 N1 位于同一棵树中。

python graph-theory networkx

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

计算R中线图的积分

我在R中有两个相同长度的正值向量x,y.使用plot(x,y,"l",...),给出了我的有限向量x和y中的2维连续线图.有没有办法在R中的这个线图的某个范围内计算一个定积分?

edit1:我已经研究了R中的积分函数.但我不确定如何用两个向量传递函数来传递给它,因为我的向量都是有限的.

edit2:对于更多背景,x和y~10,000的长度.我写了一个函数来查找我正在观察的数据中的异常的周期[xi,xj].对于这些异常中的每一个,我都使用了情节来查看我的数据片段中发生了什么.现在我需要计算有关这些异常时期积分值的统计数据,所以我试图尽可能准确地得到与我的图形匹配的数字.X是一个时间变量,我花了很短的时间间隔.

plot r integral

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

Spark Scala GraphX:两个顶点之间的最短路径

我在Spark GraphX(Scala)中有一个有向图G. 我想找到应该从已知顶点v1开始到达另一个顶点的边数v2.换句话说,我需要从顶点v1到顶点的最短路径以v2边数计算(不使用边的权重).

我正在查看GraphX文档,但我无法找到方法来执行此操作.如果图形具有树结构,则还需要这样来计算图形的深度.他们是一个简单的方法吗?

scala apache-spark spark-graphx

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

HP Vertica SQL时间戳编号

我正在尝试使用聚合时间戳,STDDEV并且我不断收到我提供的参数不存在的错误.有没有办法将HP Vertica SQL中的时间戳转换为int或数字格式甚至unix时间戳.

我试过了:

select a, STDDEV(timestamp1) 
from mytable 
group by a
Run Code Online (Sandbox Code Playgroud)

我得到错误没有函数匹配给定的名称参数.我以前用过stddev.我查看了实际的表格,看到虽然它是一个时间戳字段,但它看起来像是一个日期.

sql vertica

0
推荐指数
1
解决办法
1891
查看次数