我知道如何用transform
和using
创建配置单元udf,但我不能使用sklearn
,因为并非hive集群中的所有节点都有sklearn
。
我有一个anaconda2.tar.gz
与sklearn
,我该怎么办?如何使用python和第三方软件包(如sklearn)创建udf for hive?
回答
我最近开始研究这种方法,并且我觉得问题并不是要让所有的'hive节点'都在他们身上闪烁(如上所述),我觉得这是一个兼容性问题而不是' sklearn节点可用性'之一。我认为sklearn还没有被设计成以并行算法运行,因此大量的数据可以在短时间内处理。
我试图做的,作为一种方法,就是通过“pyhive”(例如),并实施必要的sklearn库/代码中调用蟒蛇沟通,“蜂巢”。这里粗略的假设,这个'sklearn-hive-python'代码将在每个节点中运行,并在'map-reduce'级别处理数据。 我不能说这是正确的解决方案或正确的方法(但),但这是我可以在搜索某个时间后得出结论。
谢谢。我使用'sklearn'作为蜂巢式地图作业,所以作业之间没有沟通(如减少)。 – sigmoid
你可以通过'spark'来访问hdfs文件,然后你可以使用'spark-sklearn'(https://pypi.python.org/pypi/spark-sklearn/0.2.0)。我宁愿让python直接与hadoop对话,并完成所有必要的map-reduce工作,然后通过spark-sklearn(数据很大并存储在您机器中的某个数据仓库中)处理输出数据。我相信spark-sklearn应该处理数据大小。 –
- 1. 如何打包第三方软件以及我的软件包?
- 2. Laravel:使用第三方软件包
- 3. 当我使用Python构建时,如何包含第三方包?
- 4. 如何在Java软件中包含第三方库/软件?
- 5. 如何在Hive中创建UDF
- 6. 在Hive中使用Python UDF
- 7. 防止第三方软件包导入
- 8. 无法导入第三方软件包
- 9. 如何在django中自定义第三方软件包
- 10. 如何将第三方软件包导入Meteor?
- 11. 如何去更新第三方软件包?
- 12. 如何替换第三方nuget软件包的依赖关系?
- 13. 如何编辑Meteor的第三方软件包
- 14. jython找不到第三方python软件包(使用miniconda安装python)
- 15. 在EMR中使用第三方软件
- 16. Python:如何在开发第三方软件包时搭载现有测试
- 17. 在使用RPM构建软件包时使用yum从第三方回购安装软件包
- 18. 猪第三方UDF澄清
- 19. 在Python中安装第三方软件包
- 20. 根据第三方库安装带有ext_module的python软件包
- 21. 使用Heroku上的第三方软件包进行项目
- 22. 在第三方软件包配置中使用Symfony表达式
- 23. 如何使用第三方付款创建REST Paypal付款
- 24. 从第三方二进制软件包构建RPM
- 25. 如何使用Bazel构建包含openssl的第三方C++库?
- 26. 如何从现有的软件包创建npm软件包?
- 27. Python的 - 如何使用sklearn
- 28. 如何为ClearQuest创建软件包?
- 29. 如何创建安装软件包?
- 30. 应该`make clean`移除子模块和第三方软件包?
一个解决方案是将所有的源代码复制到你的udf。我有一个需要itertools的猪UDF,但我们拥有的Python版本是2.6.6,它没有itertools。所以我查了一下排列的实现,并把它放在我的UDF中。所以不是调用'itertools.permutations',而是调用在我的UDF中定义的'permutations'。如果你需要的功能有很多依赖关系,这可能是不可行的。另一种选择是在每个节点上安装scikit-learn。 – gobrewers14