spark知识点_datasources
2024-10-19 01:12:29
来自官网DataFrames、DataSets、SQL,即sparkSQL模块。
通过dataframe接口,sparkSQL支持多种数据源的操作。可以把dataframe注册为临时视图,也可以通过关系转换。
1)默认格式是parquet,这是一种columnar(柱状的,按列的)的格式,按列存储(如Hadoop中)。
parquet载入后就是dataframe格式,而dataframe可以直接写出到parquet文件。
df = spark.read.load("examples/src/main/resources/users.parquet") #默认parquet格式
df.select("name", "favorite_color").write.save("namesAndFavColors.parquet")
#可手动设置格式为json,亦可以是json
,parquet
,jdbc
,orc
,libsvm
,csv
,text等內建格式,如果是其他的则要写全称(i.e.,
org.apache.spark.sql.parquet
)
df = spark.read.load("examples/src/main/resources/people.json", format="json")
df.select("name", "age").write.save("namesAndAges.parquet", format="parquet")
#可以直接在文件上执行SQL
df = spark.sql("SELECT * FROM parquet.`examples/src/main/resources/users.parquet`")
2)表分隔(partition)是如Hive的系统中常用的优化途径。分隔后的数据会存放在不同的目录。
下面的文件就是以gender和country作为分隔字段(列)的。
path
└── to
└── table
├── gender=male
│ ├── ...
│ │
│ ├── country=US
│ │ └── data.parquet
│ ├── country=CN
│ │ └── data.parquet
│ └── ...
└── gender=female
├── ...
│
├── country=US
│ └── data.parquet
├── country=CN
│ └── data.parquet
└── ...
最新文章
- C和指针 第九章 习题
- phpweb漏洞合集
- windows系统调用 semaphore信号量
- 关于对js的this的几点理解
- objective-c 强大的布尔类型
- windows shell备忘
- ASP.NET MVC 学习之路-3
- Android 带password输入界面的Dialog实现机制
- mac版MyEclipse的安装及创建web项目
- Zepto源码分析(二)奇淫技巧总结
- JAVA爬虫代码
- Android-FloatingActionButton
- Spark学习之Spark Streaming
- MySQL无法插入中文的解决方案
- alibaba的FastJson找不到JSON对象问题
- Spring boot国际化
- Spring Boot 项目实战(六)集成 Apollo
- webpack 中,importloaders 配置项的含义
- ASP.NET Core 使用外部登陆提供程序登陆的流程,以及身份认证的流程 (转载)
- 49_分析代理类的作用与原理及AOP概念