Anteriormente hemos aprendido sobre el programa RDD, muchísimo ventajas RDD, pero no contiene la información de esquema, la información que se muestra, sólo puede mirar hacia adelante a la obtención de datos a través de un proceso iterativo se repite, este artículo se explicará la trama de datos de uso de la llamada trama de datos que contiene información de esquema RDD .
RDD [] es el núcleo elástico de los datos distribuidos conjunto de chispa, que es de sólo lectura, basado en memoria, RDD formar un operador DAG combinado [] grafo acíclico dirigido, DAG y el retardo de ejecución presunta, y muy eficiente. En este artículo se va a la programación basada RDD.
1 Los sistemas de software, y la premisa limitaciones
- CentOS 7 64 estaciones de trabajo de la máquina es ip 192.168.100.200, el lector se establece de acuerdo con su situación real
- programa RDD se ha completado
https://www.jianshu.com/p/dd250c656c91 - Hadoop ya instalado
https://www.jianshu.com/p/b7ae3b51e559 - El permiso para eliminar los efectos de la operación, todas las operaciones se llevan a cabo con el fin de raíz
- Asegurar hadoop, chispa, colmena de meta almacén se ha iniciado, se ha realizado chispa-shell está conectado a la Scala
2 operación
- 1 análisis people.json
la línea de comandos Scala, introduzca el comando siguiente:
# 导入SparkSession
import org.apache.spark.sql.SparkSession
# 导入RDD隐式转DataFrame的包
import spark.implicits._
# 创建sparkSession【代替SparkSql】
val sparkSession = SparkSession.builder().getOrCreate()
# 加载people.json形成DataFrame
val df = spark.read.json("file:///root/spark-2.2.1-bin-hadoop2.7/examples/src/main/resources/people.json")
# 查询全部
df.show()
# 打印模式信息
df.printSchema()
# 条件过滤
df.filter("name='Andy'").show()
df.filter("age>20").show()
# 选择多列
df.select("name","age").show()
# 排序
df.sort(df("age").desc).show()
# 分组
df.groupBy("age").count().show()
# 列重命名
df.select(df("name").as("用户名称")).show()
# df数据写入本地文件
df.select("name","age").write.format("csv").save("file:///root/people.csv")
# rdd转化为df
val rdd = sc.parallelize(Array("java","python","cpp"))
val df.toDF()
Estos se llevan a cabo en las operaciones de trama de datos en sparksql.