WordPress在移动端导航中加入网站前端的可行性与前景分析
摘要:做网站前端有前途么?,wordpress加入移动端导航,网站做的一样算不算侵权,网页设计网站概述怎么写DataFrame提供统一接口加载和保存数据源中的数据,包括:结构化数据、Pa
做网站前端有前途么?,wordpress加入移动端导航,网站做的一样算不算侵权,网页设计网站概述怎么写DataFrame提供统一接口加载和保存数据源中的数据#xff0c;包括#xff1a;结构化数据、Parquet文件、JSON文件、Hive表#xff0c;以及通过JDBC连接外部数据源。一个DataFrame可以作为普通的RDD操作#xff0c;也可以通过#xff08;registerTempTable#xff09;注册成…DataFrame提供统一接口加载和保存数据源中的数据包括结构化数据、Parquet文件、JSON文件、Hive表以及通过JDBC连接外部数据源。一个DataFrame可以作为普通的RDD操作也可以通过registerTempTable注册成一个临时表支持在临时表的数据上运行SQL查询操作。
一、数据源加载保存操作
DataFrame数据源默认文件为Parquet格式可以通过spark.sql.sources.default参数进行重新修改。 不论何种格式的数据源均采取统一API、read和write进行操作代码如下
// 读取parquet格式数据
val df sqlContext.read.load(file:///$SPARK_HOME/examples/src/main/resources/users.parquet)
// 从DataFrame写数据并保存成Parquet格式
df.write.save(saveusers.parquet)1指定选项
Spark支持通过完全限定名称如org.apache.spark.sql.parquet指定数据源的附加选项内置数据源可以使用短名称json、parquet、jdbcSpark SQL支持通过format将任何类型的DataFrames转换成其他类型。
val df sqlContext.read.format(json).load(file:///$SPARK_HOME examples/src/main/resources/people.json)
df.select(name, age).write.format(parquet).save(namesAndAges.parquet)2保存模式
可以通过配置SaveMode指定如何处理现有数据实现保存模式不使用任何锁定而且不是原子操作因此多路数据写入相同位置是不安全的。当执行overwrite时写入新数据之前原来数据将被删除。
3保存持久表
当使用HiveContext时DataFrames通过saveAsTable命令保存为持久表使用与registerTempTable命令不同saveAsTable实现Dataframe的内容并创建一个指向Hive Metastore中数据的指针。即使Spark程序重新启动连接相同Metastore的数据不会发生变化。 默认情况下saveAsTable将创建一个“管理表”这意味着数据的位置将由Metastore控制当表被删除时管理表将表数据自动删除。
二、Parquet文件
Parquet是一种支持多种数据处理系统的存储格式Spark SQL提供了读写Parquet文件并且自动保存原始数据的模式。
1Parquet文件优点
1高效Parquet采取列式存储避免读入不需要的数据具有极好的性能和GC。 2方便的压缩和解压缩并具有极好的压缩比例。 3可以直接固化为Parquet文件也可以直接读取Parquet文件具有比磁盘更好的缓存效果。 Spark SQL对读写Parquet文件提供支持方便加载Parquet文件数据到DataFrame供Spark SQL操作也可以将DataFrame写入Parquet文件并自动保留原始Scheme架构。 在外部数据源方面Spark对Parquet的支持有了很大的加强更快的metadata discovery和schema merging同时能够读取其他工具或者库生成的非标准合法的Parquet文件以及更快、更鲁棒的动态分区插入。
2加载数据编程
通过sqlContext.implicits._隐式转换一个RDD为DataFrame并将DataFrame保存为Parquet文件加载保存的Parquet文件重新构建一个DataFrame注册成临时表供SQL查询使用。
