sparksql语法,读parquet,load,save

[hadoop@node1 spark-1.5.2-bin-hadoop2.6]$ cd examples/src/main/resources/
[hadoop@node1 resources]$ file users.parquet
users.parquet: Par archive data
[hadoop@node1 resources]$ strings users.parquet|more
PAR1
Alyssa
example.avro.User
name%
favorite_color%
favorite_numbers
array
name
favorite_color
favorite_numbers
array
avro.schema
{"type":"record","name":"User","namespace":"example.avro","fields":[{"name":"name","type":"string"},{"name":"favorite_color","type":["string","null"]},{"name":"favorit
e_numbers","type":{"type":"array","items":"int"}}]}
parquet-mr version 1.4.3
PAR1


--读取parquet,保存为parquet
scala> val df = sqlContext.read.load("hdfs://node1:8020/test/input/users.parquet")
df: org.apache.spark.sql.DataFrame = [name: string, favorite_color: string, favorite_numbers: array<int>]

scala> df.select("name", "favorite_color").write.save("namesAndFavColors.parquet")

[hadoop@node1 resources]$ hadoop fs -ls /user/hadoop/namesAndFavColors.parquet
15/12/15 10:13:58 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 4 items
-rw-r--r--   1 hadoop supergroup          0 2015-12-15 10:13 /user/hadoop/namesAndFavColors.parquet/_SUCCESS
-rw-r--r--   1 hadoop supergroup        303 2015-12-15 10:13 /user/hadoop/namesAndFavColors.parquet/_common_metadata
-rw-r--r--   1 hadoop supergroup        537 2015-12-15 10:13 /user/hadoop/namesAndFavColors.parquet/_metadata
-rw-r--r--   1 hadoop supergroup        549 2015-12-15 10:13 /user/hadoop/namesAndFavColors.parquet/part-r-00000-1523bee5-95b8-497c-b2d2-924a06eace33.gz.parquet




--读取json,保存为parquet
scala> val df = sqlContext.read.format("json").load("hdfs://node1:8020/test/input/people.json")
df: org.apache.spark.sql.DataFrame = [age: bigint, name: string]

scala> df.select("name", "age").write.format("parquet").save("namesAndAges.parquet")


[hadoop@node1 ~]$ hadoop fs -ls /user/hadoop/namesAndAges.parquet
Found 5 items
-rw-r--r--   1 hadoop supergroup          0 2015-12-15 10:31 /user/hadoop/namesAndAges.parquet/_SUCCESS
-rw-r--r--   1 hadoop supergroup        277 2015-12-15 10:31 /user/hadoop/namesAndAges.parquet/_common_metadata
-rw-r--r--   1 hadoop supergroup        750 2015-12-15 10:31 /user/hadoop/namesAndAges.parquet/_metadata
-rw-r--r--   1 hadoop supergroup        537 2015-12-15 10:31 /user/hadoop/namesAndAges.parquet/part-r-00000-d9c21326-ae90-437d-a952-46524e22ca2e.gz.parquet
-rw-r--r--   1 hadoop supergroup        531 2015-12-15 10:31 /user/hadoop/namesAndAges.parquet/part-r-00001-d9c21326-ae90-437d-a952-46524e22ca2e.gz.parquet






Spark SQL是Apache Spark中用于处理结构化数据的模块,它提供了一种类似于SQL的查询语言,可以用于查询和分析大规模的数据集。下面是Spark SQL的一些常用语法和功能: 1. 创建表: - 使用`CREATE TABLE`语句创建表,可以指定表名、列名和数据类型等信息。 - 也可以使用`CREATE TABLE AS SELECT`语句根据查询结果创建表。 2. 插入数据: - 使用`INSERT INTO`语句将数据插入到表中,可以插入单条数据或者批量插入数据。 3. 查询数据: - 使用`SELECT`语句查询表中的数据,可以使用`WHERE`子句进行条件过滤。 - 支持常见的聚合函数(如SUM、AVG、COUNT等)和分组操作(GROUP BY)。 - 可以使用`JOIN`语句进行多表关联查询。 4. 更新和删除数据: - 使用`UPDATE`语句更新表中的数据,可以根据条件进行更新。 - 使用`DELETE FROM`语句删除表中的数据,也可以根据条件进行删除。 5. 数据转换和处理: - 支持常见的数据转换函数,如`CAST`、`CONCAT`、`SUBSTRING`等。 - 提供了日期和时间函数,如`DATE_ADD`、`DATE_SUB`、`CURRENT_DATE`等。 - 支持正则表达式函数,如`REGEXP_REPLACE`、`REGEXP_EXTRACT`等。 6. 数据分析和统计: - 提供了窗口函数(Window Functions)用于进行数据分析和统计。 - 支持排序函数(ORDER BY)和分页查询(LIMIT)。 7. 数据存储和取: - 可以将查询结果保存到文件系统(如HDFS、S3等)或数据库中。 - 支持取和写入多种数据格式,如Parquet、Avro、JSON、CSV等。 8. 执行SQL语句: - 使用`spark.sql()`方法执行SQL语句,可以直接在Spark应用程序中执行SQL查询。 以上是Spark SQL的一些常用语法和功能,可以根据具体需求进行灵活应用。如果有具体的问题或者需要更详细的介绍,请告诉我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值