1

我是 spark 的新手,我正在尝试使用 java 加载 avro 数据来触发“数据集”(spark 1.6)。我在 scala 中看到了一些示例,但在 java 中没有。任何指向 java 中示例的指针都会有所帮助。我尝试创建一个 javaRDD,然后将其转换为“数据集”。我相信必须有一条直截了当的方法。

4

1 回答 1

1

首先你需要设置 hadoop.home.dir

System.setProperty("hadoop.home.dir", "C:/app/hadoopo273/winutils-master/hadoop-2.7.1");

然后创建一个 Spark 会话,指定 avro 文件的位置

SparkSession spark = SparkSession .builder().master("local").appName("ASH").config("spark.cassandra.connection.host", "127.0.0.1").config("spark.sql.warehouse.dir", "file:///C:/cygwin64/home/a622520/dev/AshMiner2/cass-spark-embedded/cassspark/cassspark.all/spark-warehouse/").getOrCreate();

在我的代码中使用嵌入式火花环境

// Creates a DataFrame from a specified file
Dataset<Row> df = spark.read().format("com.databricks.spark.avro") .load("./Ash.avro");
df.createOrReplaceTempView("words");
Dataset<Row> wordCountsDataFrame = spark.sql("select count(*) as total from words");
wordCountsDataFrame.show();

希望这可以帮助

于 2016-10-11T11:40:09.083 回答