我正在尝试使用spark将已生成的avro文件转换为镶木地板。
以下是我尝试过的一些选项: 将avro文件读取到spark sql上下文中->写入临时表->将所有记录读取到数据帧中并写入镶木地板文件。
以下代码:
import {circle, icon, latLng, marker, polygon, tileLayer} from 'leaflet';
...
ngOnInit() {
const myFilter = [
'grayscale:100%',
'invert:100%',
];
this.options = {
layers: [
tileLayer.colorFilter(
'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
{ maxZoom: 18, attribution: '...' },
myFilter
)
],
zoom: 5,
center: latLng(46.879966, -121.726909)
};
第二,我尝试将其复制到RDD,然后尝试写入文件。 在这两种情况下,我都有相同的错误。
Dataset<Row> df = sqlContext.read().format("com.databricks.spark.avro")
.load(inputDirectory);
df.show();
df.printSchema();
df.createOrReplaceTempView("tempview");
StructType schema = df.schema();
JavaRDD rdd = df.toJavaRDD();
Dataset<Row> sqlDF = sqlContext.createDataFrame(rdd, schema);
String fileName = "parquet_files";
//Dataset<Row> sqlDF = spark.sql("SELECT * FROM tempview");
sqlDF.show();
sqlDF.schema();
sqlDF.write()
.mode(SaveMode.Overwrite)
.parquet(fileName);
有什么想法吗?