spark-shell与scala生成parquet文件
2024-10-20 09:59:23
spark-shell用户
spark-shell只能spark用户来进行初始化,如果用hdfs或者root将会卡在spark-shell的初始化那个地方。可以用这两个用户来验证spark安装时成功地;但是如果想要通过shell来执行code、command,那么还是要用spark用户。
但是如果spark是standalone的安装模式,那么可以不考虑以上的权限问题(权限很多限制来自于YARN),即使root用户,也可以进入到命令行模式
spark读取文件的分布性质
我才用的val employee = sqlContext.read.json("file:///opt/hdpconfig.txt")经常会爆出来文件不存在,让我甚是困惑,后来想明白了,因为sparkContext告知YARN去做加载这件事情,YARN不一定分派到了那台机器的,所以如果没有在当前的机器上面,就会告知文件不存在,如果2/3概率分配到了65/68两台机器,那么就可以,如果分配到了70机器,文件就不存在。
所以大数据技术读取文件信息,file:///这种形式慎用,最好导入到hdfs中,通过hdfs://这种形式来进行处理。
spark写文件
scala> val sqlContext = new org.apache.spark.sql.SQLContext(sc)
sqlContext: org.apache.spark.sql.SQLContext = org.apache.spark.sql.SQLContext@4cc69f5c
scala> val employee = sqlContext.read.json("/data/employee.json")
employee: org.apache.spark.sql.DataFrame = [address: string, id: string, name: string, sexural: string]
scala> employee.write.parquet("/data/parquet/employee.parquet")
PS:路径没有特别指示,就是指hdfs路径。
最新文章
- 【python3】collections系列介绍
- 基于Multisim的buck降压斩波电路仿真
- C#开发体感游戏 Kinect应用知识
- Android学习笔记之打钩显示输入的密码
- 经验分享:使用 Restyle.js 简化 CSS 预处理
- bzoj 2241: [SDOI2011]打地鼠
- JavaScript中指针和地址理解
- Smarty笔记 和20个常用的变量操作符
- ajax技术的基本概述
- 【扩展欧几里德】Vijos P1009 清帝之惑之康熙
- c# 委托详解
- nopCommerce 3.9 大波浪系列 之 外部授权登录插件的开发实现
- [转]Spring.Net介绍
- Ubuntu 16.04 LTS运行robo3t报错
- 跳出语句break 和continue
- font-spider-plus,字体压缩插件使用笔记
- 微信小程序大型系统架构中应用Redis缓存要点
- “==”运算符与equals()
- python 小程序,输错三次密码锁定账户
- 原生JS实现bind()函数