小编Dob*_*bob的帖子

PySpark 修复/删除控制台进度条

如下所示,Spark 控制台输出进度条弄乱了输出。是否有可用于关闭舞台进度条的配置或标志?或者更好的是,如何修复控制台日志,以便在阶段完成后进度条消失?这可能只是 PySpark 的一个错误,但我不确定。

(CID, (v1 / n1, v2 / n2))
[Stage 46:============================================>           (19 + 4) / 24]('1', (0.020000000000000035, 4.805))
('5', (6.301249999999998, 0.125))
('10', (21.78000000000001, 3.125))
('7', (0.005000000000000009, 0.6049999999999996))

(CID, sqrt(v1 / n1 + v2 / n2))
('1', 2.19658826364888)
('5', 2.5350049309616733)
('10', 4.990490957811667)
('7', 0.7810249675906652)

(CID, (AD_MEAN, NCI_MEAN))
('7', (1.0, 5.5))
('5', (7.75, 5.3))
('10', (13.5, 6.0))
('1', (3.0, 5.0))

(CID, (AD_MEAN - NCI_MEAN))
('7', -4.5)
('5', 2.45)
('1', -2.0)
('10', 7.5)

(CID, (NUMER, DENOM))
[Stage 100:===================================================>   (30 + 2) …
Run Code Online (Sandbox Code Playgroud)

console apache-spark

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

Apache Spark在YARN错误上运行spark-shell

我下载了:spark-2.1.0-bin-hadoop2.7.tgzhttp://spark.apache.org/downloads.html.我有Hadoop HDFS和YARN以$ start-dfs.sh和开头$ start-yarn.sh.但是跑步$ spark-shell --master yarn --deploy-mode client给我下面的错误:

    $ spark-shell --master yarn --deploy-mode client
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
17/04/08 23:04:54 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/04/08 23:04:54 WARN util.Utils: Your hostname, Pandora resolves to a loopback address: 127.0.1.1; using 192.168.1.11 instead (on interface wlp3s0)
17/04/08 23:04:54 WARN …
Run Code Online (Sandbox Code Playgroud)

hadoop hdfs hadoop-yarn apache-spark

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

Pyspark 2.1.0 SQLcontext show() 方法在表后打印奇怪的 None

这是我的代码:

from pyspark import SparkContext
import os
import string

from pyspark.sql import *
from pyspark.sql.types import *

sc = SparkContext()
sqlCtx = SQLContext(sc)

dir = os.path.dirname(__file__)

# get header to create schema
with open(dir+"/data.csv") as fi:
    header = fi.readline().strip()
    header = header.split(",")
print(header)

# create the schema StructType
gex_fields = [StructField(field, StringType()) for field in header[:2]]
gex_fields = gex_fields + [StructField(field, DoubleType()) for field in header[2:]]
print(gex_fields)
gex_schema=StructType(gex_fields)

# import the csv file
gex = sqlCtx.read.csv("file:"+dir+"/data.csv", header=True, mode="DROPMALFORMED", schema=gex_schema)
print(gex.show()) …
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark

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

Spark 作业提交:AWS EMR 步骤或命令行 spark-submit

我正在使用纱线作为主节点和集群部署模式运行 AWS EMR 集群。我阅读的所有教程都使用 AWS CLI 在所谓的“Spark Steps”中使用类似于以下的命令运行 spark-submit:

aws emr add-steps --cluster-id j-2AXXXXXXGAPLF --steps Type=Spark,Name="Spark Program",ActionOnFailure=CONTINUE,Args=[--class,org.apache.spark.examples.SparkPi,/usr/lib/spark/lib/spark-examples.jar,10]
Run Code Online (Sandbox Code Playgroud)

我的教授建议我通过 SCP 将文件移动到主节点,然后通过 SSH 运行应用程序来提交我的 Spark 应用程序:

ssh hadoop@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

然后我将通过 shell 将数据文件放入 HDFS。然后最后我会简单地运行 spark-submit:

spark-submit --master yarn --deploy-mode cluster my_spark_app.py my_hdfs_file.csv
Run Code Online (Sandbox Code Playgroud)

通过 AWS CLI 提交“Spark Step”与spark-submit通过 SSH运行到主节点之间有什么区别?通过从主节点提交作业,我的 Spark 应用程序是否仍会以分布式方式运行?

amazon-web-services amazon-emr hadoop-yarn apache-spark

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

nodejs async/await try/catch jest test不应该传递

我正在学习使用最新的ecmascript语法为我的MongoDB后端代码进行的测试.我正在测试,如果我试图从空集合中找到一个文档,看看测试是否会通过测试.

光标应该是null结果,因为没有任何返回,这意味着光标是假的,但是即使我告诉它预期真实并且我不知道原因,下面的测试仍然通过:

import config from './config'
const mongodb = require('mongodb')

it('sample test', () => {
  mongodb.MongoClient.connect(config.mongodb.url, async (connectErr, db) => {
    expect(db).toBeTruthy()
    let cursor
    try {
      cursor = await db.collection('my_collection').findOne()
      // cursor is null, but test still passes below
      expect(cursor).toBeTruthy()
    } catch (findErr) {
      db.close()
    }
  })
})
Run Code Online (Sandbox Code Playgroud)

另外,这是一个很好的测试测试风格吗?我在某处读到你不应该在测试中使用try/catch块.但这就是你用来处理异步/等待错误的方法.

javascript node.js async-await jestjs ecmascript-2017

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

Bash 脚本 echo 似乎删除了我的新行?

这是我的文件 file.txt 的内容:

header
a
b
c
Run Code Online (Sandbox Code Playgroud)

我不知道发生了什么事。该命令不打印新行。

echo -e $(tail -n +2 file.txt)
Run Code Online (Sandbox Code Playgroud)

这打印:

a b c
Run Code Online (Sandbox Code Playgroud)

但是如果将其写入文件,您将清楚地看到新行:

tail -n +2 file.txt >> new_file.txt
Run Code Online (Sandbox Code Playgroud)

测试.txt

a
b
c
Run Code Online (Sandbox Code Playgroud)

如何强制 echo 打印新行?printf我认为如果不进行某种循环就无法在这里使用。

unix bash shell echo

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