snorkel调用spark的调试

2023-05-16

目录

文章目录

    • 目录
    • 前情提要
    • 主体内容
      • bug01.ModuleNotFoundError: No module named 'models'
      • bug02.No suitable driver
      • bug03.java.lang.ClassNotFoundException: org.sqlite.JDBC
    • 参考资料

前情提要

机器学习的库和工具多种多样诸如tensorflow这样的神器,最近在做体系解决方案,由于众所周知的原因,很大一部分公司,在实际的场景中是把数据都汇集到 了hadoop体系中(特别是文本类型数据,包括结构化的和非结构化的(音视频提取特征后也是文本数据)),如何在hadoop中高效的进行各种机器学习任务的开发(分布式开发,当然tensorflow也支持分布式,但是与hadoop我暂时还不知道),第一个想到的当然就是spark ml,随着技术的发展,spark ml也可以使用一些python诸如的pandas库等,但是用起来,就是感觉怪怪的(原谅我用过前后台开发的一些全家桶的工具的原因),我就拼命的找啊找,终于在git上找到了snorkel(deepdive的升级版,暂且这样称呼)这个项目。
snorkel是个号称探索software2.0的开发工具,这是一个不错的全家桶,大家可以看看它主页推荐的各种paper,看看现在的行业领先的那批科学家在想啥,想干啥(snorkel的功能,如标签化,远程监督等,我就不讨论了和发散了,论文中都有)。
snorkel能集成几乎所有机器学习库和工具(包括tensorflow和spark(pyspark)),这样的全家桶,不就是目前我急需的么?二话不说,拿过来用,oh,shit!有错调错,没错吐槽,下面吧折磨我这几天的小bug拿来说说

主体内容

本文要调试的是snorkel项目中给出来的snark demo,也即snorkel混合调用spark,即使后面用不上snorkel,但是在构建自己的项目的时候,这个项目也是值得借鉴和直接使用的。
在调试snark的过程中有几个bug,折磨了我几天,现在列出解决的方法,用以帮助后来人。
我现在用的是snorkel的最新版也就是0.7beta版
snark的demo
我把内容拷贝下来如下:

bug01.ModuleNotFoundError: No module named ‘models’

bug 01
解决方案:
找到 …/snorkel/snorkel/contrib/snark/annotations.py

修改红框内容如黄框所示,去掉黄框的注释

bug02.No suitable driver

在这里插入图片描述
解决方案:一行行,根据报错追踪,最后发现是在
…/snorkel/snorkel/contrib/snark/annotations.py中
在这里插入图片描述
解决方案:将红框的内容改为黄框的内容,并去掉注释(注意增加的内容)

bug03.java.lang.ClassNotFoundException: org.sqlite.JDBC

在这里插入图片描述
很遗憾,有bug02导致bug03,这个很容易看明白,spark中是没有对应jdbc的驱动的(如本例中的sqlite),参考资料中的第二篇文章告诉我们了,在jupter notebook中如何使用pyspark,这个问题看是很容易,不过怎么尝试都有问题,最后的解决办法
在这里插入图片描述
这里需要注意两点:
1.这个参数一定要在创建sparksession的前面引入,相当于在启动pyspark的时候传入参数,后面引入不起作用(pyspark已启动,你再传启动参数,当然无效)
2.不要想当然的把青色框中的最后的pyspark-shell参数改为pyspark,因为,pyspark的脚本就是启动pyspark-shell,有如下截图证实:
在这里插入图片描述

参考资料

snorkel
jupyter notebook调试pyspark

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

snorkel调用spark的调试 的相关文章

  • 数据倾斜

    数据倾斜发生时的现象 1 绝大多数task执行得都非常快 但个别task执行的极慢 2 原本能正常执行的Spark作业 某天突然爆出OOM 内存溢出 异常 观察异常栈 是我们写的业务代码造成的 数据倾斜发生的原理 在进行shuffle的时候
  • 分类算法之朴素贝叶斯

    1 朴素贝叶斯分类算法 朴素贝叶斯 Naive Bayes NB 算法是基于贝叶斯定理与特征条件独立假设的分类方法 该算法是有监督的学习算法 解决的是分类问题 是将一个未知样本分到几个预先已知类别的过程 朴素贝叶斯的思想就是根据某些个先验概
  • 任务长期不释放和占用单节点持续的cpu,导致hivesever2本身内存泄漏造成

    任务长期不释放和占用单节点持续的cpu 导致hivesever2本身内存泄漏造成 产生的原因在于 查询过于复杂或者数据量过大 当有复杂的查询或处理大量数据的请求时 HiveServer2可能会出现高负载 这可能涉及大量的计算 IO操作或涉及
  • Spark性能调优之Shuffle调优

    Spark性能调优之Shuffle调优 Spark底层shuffle的传输方式是使用netty传输 netty在进行网络传输的过程会申请堆外内存 netty是零拷贝 所以使用了堆外内存 shuffle过程中常出现的问题 常见问题一 redu
  • cdh下spark2-yarn运行sparkstreaming获取kafka数据使用spark-streaming-kafka-0-10_2.11报错解决

    报错问题 20 07 15 17 20 51 INFO utils AppInfoParser Kafka version 0 9 0 kafka 2 0 0 20 07 15 17 20 51 INFO utils AppInfoPars
  • Spark中的基本概念

    Spark中的基本概念 1 基本概念 1 1 RDD 弹性分布式数据集 1 2 DAG 有向无环图 1 3 Partition 数据分区 1 4 NarrowDependency 窄依赖 1 5 ShuffleDependency 宽依赖
  • 浅谈Hadoop体系和MPP体系

    浅谈Hadoop体系和MPP体系 引言 如题 在大数据发展至今 为了应对日益繁多的数据分析处理 和解决客户各种奇思妙 怪 想需求 形形色色的大数据处理的框架和对应的数据存储手段层出不穷 有老当益壮的Hadoop体系 依靠Hadoop巨大的社
  • 【Apache Spark 】第 1 章Apache Spark 简介:统一分析引擎

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • spark报Got an error when resolving hostNames. Falling back to /default-rack for all

    一 报错代码如下 21 06 01 20 13 36 INFO yarn SparkRackResolver Got an error when resolving hostNames Falling back to default rac
  • Spark SQL 之 Temporary View

    Spark SQL 之 Temporary View spark SQL的 temporary view 是支持原生SQL 的方式之一 spark SQL的 DataFrame 和 DataSet 均可以通过注册 temporary vie
  • Spark大数据分析与实战笔记(第一章 Scala语言基础-3)

    文章目录 1 3 Scala的数据结构 1 3 1 数组 数组的遍历 数组转换 1 3 2 元组 创建元组 获取元组中的值 拉链操作 1 3 3 集合 List Set Map 1 3 Scala的数据结构 对于每一门编程语言来说 数组 A
  • Impala presto hbase hive sparksql

    Impala 技术点梳理 http www cnblogs com TiestoRay p 10243365 html Impala 优点 实时性查询 计算的中间结果不写入磁盘 缺点 对于内存的依赖过于严重 内存溢出直接导致技术任务的失败
  • spark中repartition和coalesce的区别

    总的来讲 两者 对是否允许shuffle 不同 coalesce numPartitions shuffle false repartition numPartitions repartition 其实是 coalesce 中参数shuff
  • 使用Flink1.16.0的SQLGateway迁移Hive SQL任务

    使用Flink的SQL Gateway迁移Hive SQL任务 前言 我们有数万个离线任务 主要还是默认的DataPhin调度CDP集群的Hive On Tez这种低成本任务 当然也有PySpark 打Jar包的Spark和打Jar包的Fl
  • 数据中台-让数据用起来-6

    文章目录 第六章 数据开发 数据价值提炼工厂 6 1 数据计算能力的4种类型 6 1 1 批计算 6 1 2 流计算 6 1 3 在线查询 6 1 4 即席分析 6 2 离线开发 1 作业调度 2 基线控制 3 异构存储 4 代码校验 5
  • Spark 【分区与并行度】

    RDD 并行度和分区 SparkConf setMaster local 我们在创建 SparkContext 对象时通常会指定 SparkConf 参数 它包含了我们运行时的配置信息 如果我们的 setMaster 中的参数是 local
  • 大数据手册(Spark)--Spark基本概念

    文章目录 Spark 基本概念 Hadoop 生态 Spark 生态 Spark 基本架构 Spark运行基本流程 弹性分布式数据集 RDD Spark安装配置 Spark基本概念 Spark基础知识 PySpark版 Spark机器学习
  • Spark 任务调度机制

    1 Spark任务提交流程 Spark YARN Cluster模式下的任务提交流程 如下图所示 图YARN Cluster任务提交流程 下面的时序图清晰地说明了一个Spark应用程序从提交到运行的完整流程 图Spark任务提交时序图 提交
  • sparkstreamming 消费kafka(2)

    spark streaming提供了两种获取方式 一种是同storm一样 实时读取缓存到内存中 另一种是定时批量读取 这两种方式分别是 Receiver base Direct 一 Receiver base Spark官方最先提供了基于R
  • spark相关

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门

随机推荐

  • 无法连接虚拟机网络的情况之---Vmnet8 Net网络连接方式

    最近一直在虚拟机win7系统完loadrunner 昨晚突然想连接linux系统 xff0c 但是发现链接不上之前搭建的集群主机 xff0c 在linux服务器也能ping通www baidu com 但是在宿主机secureCRT链接不到
  • select * from .... for update 使用

    今天看到同事在群里发for update的sql 初步了解下 xff01 解释 xff1a for update是在数据库中上锁用的 xff0c 可以为数据库中的行上一个排它锁 当一个事务的操作未完成时候 xff0c 其他事务可以读取但是不
  • 基于NotePad应用做功能扩展

    写在前面 xff0c 解决图片不能查看问题 因为有 墙 的存在 xff0c DNS污染了 xff0c 存在不能查看GitHub上图片问题 配置hosts文件 xff0c 直接指向github的服务器 用ipaddress查一下GitHub
  • Windows 7 镜像下载汇总

    Windows 7 官方原版操作系统 下载说明 xff1a 请右击迅雷下载或者开启迅雷 xff0c 然后复制地址迅雷会自动检测到 Windows 7 官方原版光盘镜像32位旗舰版下载地址 下载地址 xff1a 2 43GB ed2k fil
  • navicat连接虚拟机数据库

    连接服务器 mysql u root p 查看当前所有数据库 xff1a show databases 进入mysql数据库 xff1a use mysql 查看mysql数据库中所有的表 xff1a show tables 查看user表
  • web综合题(2)

    一 选择题 1 下列关于HTML中的CSS样式表的说法正确的是 xff08 C xff09 A CSS样式表的基本选择器有 xff1a 标记选择器 Id选择器和类选择器及后代选择 器 B CSS样式表仅具有继承性 C 对于定义样式div p
  • ubuntu20.04系统出现 仓库 “http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial Release“ 没有Release文件

    我们进行 sudo apt get update 时 出现仓库 http ppa launchpad net fcitx team nightly ubuntu 有文件但是不能安装的问题 我看了很多文章 xff0c 也逐个试了没有得到很好的
  • 关于如何关闭项目里的Tortoise Git

    今天遇到了这个问题 xff0c 搜了一圈没找到相关的解决方法 xff0c 最后找到方法之后 xff0c 感觉自己就像个傻子 xff0c 这么简单的方法都没想到 解决方法如下 xff1a 只需要把图中最上方的 git 文件夹删掉就可以了 删掉
  • ES6之Module 的加载实现(1)

    1 浏览器加载 1 1传统方法 xff1a 在 HTML 网页中 xff0c 浏览器通过 lt script gt 标签加载 JavaScript 脚本 默认情况下 xff0c 浏览器是同步加载 JavaScript 脚本 xff0c 即渲
  • 我的2013年终总结——在苦与乐中成长

    写在前面 最近正好在三亚旅游 xff0c 空闲下来时 xff0c 便开始进行年终总结 由于去年年末较忙 xff0c 便错过了2012 年的年终总结 xff0c 所以本文将会对 2012 与 2013 两年一起进行总结 说说工作 学生 到 码
  • 走过2014,2015我将继续前行

    写在前面 一转眼 xff0c 一年时光就这么溜走了 在这辞旧迎新之际 xff08 这说法是不是很官方啊 xff0c 呵呵 xff01 xff09 xff0c 我将对即将过去的2014 年进行一番总结 xff0c 并对即将来临的 2015 年
  • 教程 | ROS中Gazebo版本升级更新以及环境太暗解决方案

    1 Gazebo升级 使用下列代码可将gazebo升级为该版本的最新版 xff0c 适用于gazebo7与gazebo9 添加源 sudo sh c 39 echo 34 deb http packages osrfoundation or
  • EKF_SLAM一般过程

    SLAM xff0c 同步定位与地图构建 xff0c 本文将介绍基于EKF的SLAM的整体过程 1 EKF SLAM Overview 当机器人处在个未知环境中时 xff0c 他最想知道的就是他在当前环境中的位置 环境不知道咋办 xff0c
  • 0.1+0.2 为什么不等于0.3

    目录 一 0 1 43 0 2的计算过程 1 十进制转成二进制 2 转成浮点数 3 浮点数相加 4 浮点数转成十进制 二 答案 三 拓展 一 0 1 43 0 2的计算过程 1 十进制转成二进制 在JS内部所有的计算都是以二进制方式计算的
  • 一起重新开始学大数据-hadoop篇-Day45-hdfs解析和zookeeper安装

    一起重新开始学大数据 hadoop篇 Day45 hdfs解析和zookeeper安装 hadoop启动脚本 详细启动脚本介绍 第一种 xff1a 全部启动集群所有进程 启动 xff1a sbin start all sh 停止 xff1a
  • arduino上ESP8266用Adafruit_SSD1306库驱动OLED屏

    关注 星标公众号 xff0c 不错过精彩内容 编辑 xff1a Tony 来源 xff1a 公众号TonyCode 在进行后续的ESP8266学习前 xff0c 我们先来对OLED屏进行驱动 xff0c 为后续学习提供直观的信息显示 1 安
  • Centos7 虚拟机无法上网,并且不能ping通主机,但是主机可以ping通虚拟机

    我在VM中安装了一个 CentOS 7 系统 xff0c 可是用 NAT 模式 只能宿主机ping通虚拟机 xff0c 虚拟机却ping不能宿主机 原因 xff1a VMnet8中的ipv4地址和WLAN无线网卡的ipv4地址冲突了 修改V
  • 元学习方向 optimization based meta learning 之 MAML论文详细解读

    元学习系列文章 optimization based meta learning Model Agnostic Meta Learning for Fast Adaptation of Deep Networks 论文翻译笔记元学习方向 o
  • Error:Flash Download failed - Could not load file ****.axf

    Error Flash Download failed Could not load file axf 原因 1 没有编译 解决办法 先编译再load 2 keil 没破解 解决办法 破解keil 具体方法 https www jb51 n
  • snorkel调用spark的调试

    目录 文章目录 目录前情提要主体内容bug01 ModuleNotFoundError No module named 39 models 39 bug02 No suitable driverbug03 java lang ClassNo