我有一个 pyspark 数据框,如:
A B C
1 不适用 9
4 2 5
6 4 2
5 1 不适用
我想删除包含值“NA”的行。在这种情况下,第一行和最后一行。如何使用 Python 和 Spark 实现这一点?
根据评论更新:寻找一种解决方案,该解决方案可以删除在许多列中的任何列中包含字符串:NA 的行。
我是 docker 新手,我正在尝试 dockerize 一个 python Flask 微服务。docker 文件构建成功,但在运行容器时出现错误:
python3: can't open file 'flask': [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)
我假设我的 docker 文件中有一些错误,无论是在 COPY 路径、ENTRYPOINT 还是 CMD 中,即我用来运行 Flask 应用程序的命令。我无法弄清楚错误。
Ubuntu机器上的目录结构是:
/home/ubuntu/Docker/auth
Run Code Online (Sandbox Code Playgroud)
目录 auth 包含我的 Dockerfile 和所有其他 python Flask 文件:
$ls
Dockerfile run.py views.py resources.py models.py
Run Code Online (Sandbox Code Playgroud)
run.py 是用于执行的主要 python 烧瓶文件。我确定我在执行 Flask 应用程序的 CMD 命令时存在一些语法错误,并且无法找到 run.py 来执行。我无法纠正那个错误。
镜像构建成功。为了运行我使用的容器:
docker build <imageid>
Run Code Online (Sandbox Code Playgroud)
文件
FROM ubuntu:16.04
MAINTAINER xyz <xyz@yahoo.com>
RUN apt-get update \
&& apt-get install -y software-properties-common vim \
&& add-apt-repository …Run Code Online (Sandbox Code Playgroud) 我正在尝试对一个简单的Python-Flask应用程序进行docker化,但是在运行容器时遇到错误。
泊坞窗:来自守护程序的错误响应:OCI运行时创建失败:container_linux.go:344:启动容器进程导致“ exec:\” python \”:在$ PATH中找不到可执行文件”:未知。
本地主机上的Workdir:
/home/ubuntu/flask_web
- app.py
- Dockerfile
- requirements.txt
Run Code Online (Sandbox Code Playgroud)
app.py
#flask_web/app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hey, we have Flask in a Docker container'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
Run Code Online (Sandbox Code Playgroud)
Docker文件
FROM ubuntu:16.04
MAINTAINER xyz "xyz@gmail.com"
RUN apt-get update \
&& apt-get install -y software-properties-common vim \
&& add-apt-repository ppa:jonathonf/python-3.6 \
&& apt-get update -y \
&& apt-get install -y build-essential python3.6 python3.6-dev python3-pip python3.6-venv \
&& pip3 install …Run Code Online (Sandbox Code Playgroud) 我想将 groovy 函数的值返回到我的 jenkins 构建阶段,以便该值可以用作其他阶段的条件。我不知道如何实现这一点。我尝试过类似下面的方法,但没有成功。
我的 Jenkinsfile 是这样的:
pipeline
{
agent any
stages
{
stage('Sum')
{
steps
{
output=sum()
echo output
}
}
stage('Check')
{
when
{
expression
{
output==5
}
}
steps
{
echo output
}
}
}
}
def sum()
{
def a=2
def b=3
def c=a+b
return c
}
Run Code Online (Sandbox Code Playgroud)
上面的方法行不通。有人可以提供正确的实施吗?
continuous-integration jenkins jenkins-groovy jenkins-pipeline
我的 data.csv 文件包含三列,如下所示。我已将此文件转换为 python spark 数据帧。
A B C
| 1 | -3 | 4 |
| 2 | 0 | 5 |
| 6 | 6 | 6 |
Run Code Online (Sandbox Code Playgroud)
我想在火花数据框中添加另一列 D,其值为 Yes 或 No,条件是如果 B 列中的相应值大于 0,则是,否则为否。
A B C D
| 1 | -3 | 4 | No |
| 2 | 0 | 5 | No |
| 6 | 6 | 6 | Yes |
Run Code Online (Sandbox Code Playgroud)
我无法通过 PySpark 数据帧操作来实现这一点。
apache-spark ×2
docker ×2
dockerfile ×2
flask ×2
pyspark ×2
python ×2
dataframe ×1
docker-image ×1
jenkins ×1
pyspark-sql ×1