用Pyspark增强Sparkui
pyspark-sugar的Python项目详细描述
#pyspark sugar
设置数据帧操作的python回溯,通过SPARK应用程序的实际业务逻辑阶段丰富SPARK用户界面。
``````
/>pip直接从github安装PySpark糖
```````
``````````
pip直接从github:
`````
>pip安装git+git+https://github.com/sashgorookhov/pyspark糖/pyspark sug.git@master@master
``
`````
>
示例
``python
import random
import pyspark_sugar
from pyspark.sql import函数为f
非零的空值在其值之间的数量。
:param cols:要检查的列的子集
“
cols=set(cols)&set(sdf.columns)
如果不是cols:
返回{}
空值计数=sdf.agg(*[f.sum(f.isnull(col.cast('int')).alias(col)代表cols中的col]).collect()[0]
返回{col col:null_计数[col]代表col在cols中,如果空值计算[col]}
def main():
sc=pyspark.sparkcontext.getorcreate();类型:pyspark.sparkcontext
ssc=pyspark.sql.sparksession.builder.getorcreate()
定义作业组。将对作业组中的所有操作进行分组。
使用pyspark_sugar.job_group('etl',none):
sdf=ssc.createdataframe([
{contact_key':n,'product_key':random.choice(['1','2','what',无])}
对于范围(1000)
].repartition(2.cache()
[“产品密钥])
使用pyspark_sugar.job_u description('get transactions count'):
print(sdf.count())
如果使用将堆栈跟踪设置为作业详细描述的代码修补几乎所有数据帧操作pyspark_sugar.patch_dataframe_actions():
main()
````
这就是sparkui页面的样子:
![Sparkui作业页面截图](docs/screenshots/screenshot_jobs.png)
![sparkui sql page screenshot](docs/screenshots/screenshot_sql.png)
现在sparkui充满了人类可读的描述,所以即使您的经理也可以阅读!太好了。
设置数据帧操作的python回溯,通过SPARK应用程序的实际业务逻辑阶段丰富SPARK用户界面。
``````
/>pip直接从github安装PySpark糖
```````
``````````
pip直接从github:
`````
>pip安装git+git+https://github.com/sashgorookhov/pyspark糖/pyspark sug.git@master@master
``
`````
>
示例
``python
import random
from pyspark.sql import函数为f
非零的空值在其值之间的数量。
:param cols:要检查的列的子集
“
cols=set(cols)&set(sdf.columns)
如果不是cols:
返回{}
空值计数=sdf.agg(*[f.sum(f.isnull(col.cast('int')).alias(col)代表cols中的col]).collect()[0]
返回{col col:null_计数[col]代表col在cols中,如果空值计算[col]}
def main():
sc=pyspark.sparkcontext.getorcreate();类型:pyspark.sparkcontext
ssc=pyspark.sql.sparksession.builder.getorcreate()
定义作业组。将对作业组中的所有操作进行分组。
使用pyspark_sugar.job_group('etl',none):
sdf=ssc.createdataframe([
{contact_key':n,'product_key':random.choice(['1','2','what',无])}
对于范围(1000)
].repartition(2.cache()
[“产品密钥])
使用pyspark_sugar.job_u description('get transactions count'):
print(sdf.count())
如果使用将堆栈跟踪设置为作业详细描述的代码修补几乎所有数据帧操作pyspark_sugar.patch_dataframe_actions():
main()
````
这就是sparkui页面的样子:
![Sparkui作业页面截图](docs/screenshots/screenshot_jobs.png)
![sparkui sql page screenshot](docs/screenshots/screenshot_sql.png)
现在sparkui充满了人类可读的描述,所以即使您的经理也可以阅读!太好了。