我正在遵循spark-redis连接器文档中的示例,以从现有哈希创建数据框。
哈希的构建如下:
127.0.0.1:6379>某人:1个姓John的年龄为30岁
(整数)2
127.0.0.1:6379>预设人物:2名彼得,年龄45岁
(整数)2
127.0.0.1:6379>人物:3名詹姆斯,年龄40岁
读取哈希的代码如下-
foo
输出
SparkSession spark = SparkSession
.builder()
.appName("MyApp")
.master("local[*]")
.config("spark.redis.host", "localhost")
.config("spark.redis.port", "6379")
.getOrCreate();
Dataset<Row> df = spark.read()
.format("org.apache.spark.sql.redis")
.schema(new StructType(new StructField[] {
DataTypes.createStructField("id", DataTypes.StringType, true),
DataTypes.createStructField("name", DataTypes.StringType, false),
DataTypes.createStructField("age", DataTypes.IntegerType, false)
})
)
.option("keys.pattern", "person:*")
.option("key.column", "id")
.load();
df.show();
df.printSchema();
我原本希望Id列中分别为1、2、3,但改为为null。在这方面的任何指示都将有所帮助。这段代码也是Java语言,所以我不确定数据类型是否存在问题。
答案 0 :(得分:0)
您使用的版本不支持该版本-使用主提示,直到发布新版本为止。