读取文件

spark.read.json(url)

  • 读取 multi-line json string
  • 报错信息是 _corrupt_record error when reading a JSON file into Spark 之类的
  • 意思是从 JSON 字符串解析对象失败。
  • 网上常见的解决方法是在 .json() function call 里加额外的参数变成 .json(url, multiLine=True). 但奇怪的是在 AWS 上即使这样做了仍然会提示错误
  • 最后的解决方法是自己另外写个 python 脚本,预处理把 multi-line json string 转换成一行对应一个 object 的 single-line json string
  • 参考代码如下:
    import json
    json_file_path = "./json-file.json"
    f = open(json_file_path)
    json_str = f.read()
    json_objs = json.loads(json_str)
    with open("./json-file-singleLine.json") as fp:for obj in json_objs:json.dump(obj, fp)fp.write("\n")
    

上传文件

直接拖拽通过 AWS JupyterLab 侧边栏上传文件会被自动截断

  • 这个错误非常隐蔽,查了好久才发现。比如你有一个 3M 的 json ,拖拽丢进去,下面的进度条会显示上传成功,但如果你点进 S3 里去下载源文件,会发现被截断了,只有几百K的样子
  • 解决方法就是通过 S3 自己的页面上传文件,不要信任 JupyterLab 的文件上传功能

PySpark 踩坑百科全书相关推荐

  1. pyspark——functions.when踩坑记录

    pyspark--functions.when踩坑记录 背景介绍 案例分享 背景介绍 我们一般认知觉得判断逻辑在后的会覆盖判断逻辑在前的判断结果,可是结果是枉然 案例分享 下面展示一些 内联代码片. ...

  2. 【golang程序包推荐分享】分享亿点点golang json操作及myJsonMarshal程序包开发的踩坑经历 :)

    目录[阅读时间:约5分钟] 一.概述 1.Json的作用 2.Go官方 encoding/json 包 3. golang json的主要操作 二.Json Marshal:将数据编码成json字符串 ...

  3. java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实

    好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...

  4. python导入类有红线_python踩坑系列之导入包时下划红线及报错“No module named”问题...

    python踩坑系列之导入包时下划红线及报错"No module named"问题 使用pycharm编写Python时,自己写了一个包(commontool),在同级另一个路径下 ...

  5. mysql运维工资_MySQL运维踩坑

    image ZERO 背景 本文主要是介绍在MySQL使用运维过程中所遇到的一些坑爹的地方,予自己以做记录! 前言 因操作系统重装之后,安装了mysql5.7,而由此带来了一系列的问题,现将解决这些m ...

  6. 微信跳一跳高分辅助踩坑

    旧博文,搬到 csdn 原文:http://rebootcat.com/2018/01/08/wechat_jump_hack/ 最近挺火的微信跳一跳 最近新版微信的『跳一跳』小程序着实火了一把,也把 ...

  7. 【踩坑记录】记一次MySQL主从复制延迟的坑

    最近开发中遇到的一个MySQL主从延迟的坑,记录并总结,避免再次犯同样的错误. 情景 一个活动信息需要审批,审批之后才能生效.因为之后活动要编辑,编辑后也可能触发审批,审批中展示的是编辑前的活动内容, ...

  8. 分布式深度学习最佳入门(踩坑)指南

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨Lyon@知乎(已授权) 来源丨https://zhuanla ...

  9. python array赋值_从踩坑学Python内部原理(5):执行时机的差异

    (给Python开发者加星标,提升Python技能) 英文:Satwik Kansal,翻译:暮晨 Python开发者整理自 GitHub [导读]:Python 是一个设计优美的解释型高级语言,它提 ...

最新文章

  1. linux 创建 虚拟文件系统设备 文件节点 使用 proc_create 实例 简介
  2. 个人出路......
  3. 【数字智能三篇】之二: 一页纸说清楚“什么是推荐系统?”
  4. PHP读取远程文件并保存
  5. 更改环境变量JAVA_HOME无效
  6. cups支持的打印机列表_网络存储让你的打印机瞬间变无线,打印文件不用愁
  7. Sublime Text 3 配置python交互运行环境的快捷键
  8. python矩阵中找满足条件的元素_Python 找到列表中满足某些条件的元素方法
  9. 视觉SLAM十四讲学习笔记-第六讲-非线性优化的实践-高斯牛顿法和曲线拟合
  10. matlab中round函数_Excel中round函数的使用方法
  11. 【LOJ10050】The XOR Largest Pair(字典树)
  12. fw150um2.0linux驱动下载,fw150um无线网卡驱动
  13. marven编译时:<pre>错误: 不允许使用自关闭元素</pre>
  14. 【量化课堂】风险模型
  15. 毕业4年年薪200万是怎样的一种体验?
  16. 查看windows显卡内存详细信息
  17. Sky Computing
  18. linux mysql搭建禅道详细教程_2019-08-28 redhat linux如何部署禅道服务器(一键安装包)...
  19. java实现验证邮箱有效性
  20. 《流浪地球 2》 Deepfake 小试牛刀,45+ 吴京「被」年轻,变身 21 岁小鲜肉

热门文章

  1. 【操作系统】进程的三种基本状态及其转换
  2. android ScrollView的API详解
  3. Codeforces 540C Ice Cave (BFS)
  4. php service locator,Dependency Injection 和 Service Locator
  5. 图像的前向和后向映射
  6. Python每日一练——数据存储第六关:操作MySQL数据库
  7. STM32f103VCT6点灯(寄存器编程)
  8. 点割集与割点,边割集与割集
  9. 物联网毕业设计 - 基于Arduino开发板的智能移动加湿器
  10. mt管理器错误信息java_MT管理器_MT管理器手机版_MT管理器清爽版_易玩网