Gay*_*tri 5 scala apache-spark apache-spark-sql apache-zeppelin
我已经将avro文件读入spark RDD,需要将其转换为sql数据框。我怎么做。
这是我到目前为止所做的。
import org.apache.avro.generic.GenericRecord
import org.apache.avro.mapred.{AvroInputFormat, AvroWrapper}
import org.apache.hadoop.io.NullWritable
val path = "hdfs://dds-nameservice/user/ghagh/"
val avroRDD = sc.hadoopFile[AvroWrapper[GenericRecord], NullWritable, AvroInputFormat[GenericRecord]](path)
Run Code Online (Sandbox Code Playgroud)
当我做:
avro.take(1)
Run Code Online (Sandbox Code Playgroud)
我回来
res1: Array[(org.apache.avro.mapred.AvroWrapper[org.apache.avro.generic.GenericRecord], org.apache.hadoop.io.NullWritable)] = Array(({"column1": "value1", "column2": "value2", "column3": value3,...
Run Code Online (Sandbox Code Playgroud)
如何将其转换为SparkSQL数据框?
我正在使用Spark 1.6
谁能告诉我是否有解决这个问题的简单方法?
在软件包列表中包括spark-avro。对于最新版本,请使用:
com.databricks:spark-avro_2.11:3.2.0
Run Code Online (Sandbox Code Playgroud)加载文件:
val df = spark.read
.format("com.databricks.spark.avro")
.load(path)
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
17790 次 |
| 最近记录: |