Husky中文文档-PyHusky 运算符

Pyhusky Operators

PyHusky支持三种运算符: LoadTransformation, 和 Action.

通畅情况下,一个PyHusky程序首先使用Load运算符.

PyHusky 采用lazy evaluation技术, 所有 Loads 和 Transformations 的运算将会被推迟,以避免不必要的计算和提高性能。 Action 操作才会真正触发计算。

因此一个应用程序需确保以 Load 操作开始,并以 Action 结束。

Transformations 分为两类: simple transformations 和 shuffle transformations。Simple transformations不会导致网络传输,但shuffle transformations会.

Loads

以下为PyHusky支持的 Load 操作符。PyHusky应用程序需要包含 env 包以便使用这些运算。

  • load(url) :从HDFS中加载数据,使用LineInputFormat(每行成为PyHuskyList的一个元素),返回一个PyhuskyList。

  • parallelize(list): 将一个Python list划分到不同机器上,返回PyHuskyList。

Transformations

以下为PyHusly支持的 Transformation 操作符。

Simple transformations
  • map(func):对已有的PyHuskylist的每一个元素进行函数操作,并返回一个新的PyHuskyList。

  • flat_map(func):和map 函数类似,但每个原元素可以被映射成零个或多个输出元素(func应该返回一个list而不是一个元素)。

  • filter(func):返回一个经过func筛选后的新的PyHuskyList。

  • concat(pyhuskylist):拼接两个PyHuskyList, 并返回一个新的PyHuskyList。

  • map_partition(func):对于每个PyHuskyList数据分片(一个python列表)的所有元素执行func函数,并返回新的PyHuskyList。

Shuffle transformations
  • distinct():返回一个不含重复元素的PyHuskyList。

  • reduce_by_key(func):对由(k, v)对组成的PyHuskyList按照k分组,对每个分组执行func函数聚集v(如求和)。

  • group_by_key():接收由(k, v)对组成的PyHuskyList,按照k进行分组,返回由(k, [v1...])组成的PyHuskyList

  • count_by_key():接收由(k, v)对组成的PyHuskyList,按照k进行分组,计数每个k有多少个对,返回由(k, num)对组成的PyHuskyList

  • difference(other_pyhuskylist):返回一个不包含other_pyhuskylist元素的新PyHuskyList。

Actions

以下为PyHusly支持的 Action 操作符。

  • reduce(func):按照func聚集函数聚集所有PyHuskyList中的元素,返回一个最终值。

  • cache():缓存所有PyHuskyList中的元素。

  • uncache():取消对PyHuskyList中元素的缓存。

  • write_to_hdfs(url):将PyHuskyList中的全部元素写出到HDFS的url目录里面。

  • count():返回一个PyHuskyList包含的元素个数。

  • collect():收集各个PyHuskyList分片的数据,返回到前端。

  • empty():返回true如果该PyHuskyList不含任何元素,否则返回false。

  • topk(k, key=None, reverse=False):返回PyHuskyList的前k个元素。

  • output():输出PyHuskyList中的全部元素到前端控制台。

  • foreach(func):对PyHuskyList中的每一个元素实施func函数操作

待开发的操作符...

  • sample(N)take(N)unionintersectjoincartesian...

Husky应用库

以下为PyHusky支持的各类应用。

PageRank

  • from_edgelist(pyhuskylist):接收由(src, dst)对组成的PyHuskyList创建一个图。

  • pagerank(num_iters):计算一个图进行PageRank的计算,迭代num_iters次。

  • topk(k):得到一个图top-k的PageRank值

例子:

pr = pagerank.from_edgelist(edgelist)
pr.compute(iter=10)
pr.topk(5)

回答: 当你在终端输入git commit -m "XXX"提交代码时,如果遇到husky > pre-commit的问题,这是由于pre-commit文件导致的提交失败。pre-commit文件是.git文件夹下的一个文件,它是pre-commit(客户端)钩子,会在Git键入提交信息前运行做代码风格检查。如果代码不符合相应规则,则会报错。解决这个问题有以下三种方案:\[1\]\[2\]\[3\] 1. 卸载husky。可以在项目的package.json文件中删除devDependencies节点下的husky库,然后重新运行npm i命令,或者直接在项目根目录下执行npm uninstall husky --save命令。 2. 找到项目中的.git文件夹,进入hooks文件夹,找到pre-commit文件,将其删除。这样就能成功提交代码了。 3. 使用souceTree等工具提交代码时,可以检查代码风格是否符合规则,如果不符合则进行相应的修改。 #### 引用[.reference_title] - *1* [git commit 提交的时候报错husky > pre-commit hook failed (add --no-verify to bypass)的原因和一些小...](https://blog.csdn.net/CJamenc/article/details/111316791)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Git提交代码报错husky 」 pre-commit](https://blog.csdn.net/qq_35695023/article/details/114022989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [git commit提交时报错husky > pre-commit (node v14.19.3)](https://blog.csdn.net/qq_24518001/article/details/128162152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值