mposdev21 commented on code in PR #38286:
URL: https://github.com/apache/spark/pull/38286#discussion_r997354898
##########
connector/protobuf/src/test/scala/org/apache/spark/sql/protobuf/ProtobufFunctionsSuite.scala:
##########
@@ -56,44 +91,45 @@ class ProtobufFunctionsSuite extends QueryTest with
SharedSparkSession with Seri
lit(1202.00).cast(org.apache.spark.sql.types.FloatType).as("float_value"),
lit(true).as("bool_value"),
lit("0".getBytes).as("bytes_value")).as("SimpleMessage"))
- val protoStructDF = df.select(
- functions.to_protobuf($"SimpleMessage", testFileDesc,
"SimpleMessage").as("proto"))
- val actualDf = protoStructDF.select(
- functions.from_protobuf($"proto", testFileDesc,
"SimpleMessage").as("proto.*"))
- checkAnswer(actualDf, df)
+
+ checkWithFileAndClassName("SimpleMessage") {
+ case (name, descFilePathOpt) =>
+ val protoStructDF = df.select(
+ to_protobuf_wrapper($"SimpleMessage", name,
descFilePathOpt).as("proto"))
+ val actualDf = protoStructDF.select(
+ from_protobuf_wrapper($"proto", name, descFilePathOpt).as("proto.*"))
+ checkAnswer(actualDf, df)
+ }
}
test("roundtrip in from_protobuf and to_protobuf - Repeated") {
- val descriptor = ProtobufUtils.buildDescriptor(testFileDesc,
"SimpleMessageRepeated")
- val dynamicMessage = DynamicMessage
- .newBuilder(descriptor)
- .setField(descriptor.findFieldByName("key"), "key")
- .setField(descriptor.findFieldByName("value"), "value")
- .addRepeatedField(descriptor.findFieldByName("rbool_value"), false)
- .addRepeatedField(descriptor.findFieldByName("rbool_value"), true)
- .addRepeatedField(descriptor.findFieldByName("rdouble_value"),
1092092.654d)
- .addRepeatedField(descriptor.findFieldByName("rdouble_value"),
1092093.654d)
- .addRepeatedField(descriptor.findFieldByName("rfloat_value"), 10903.0f)
- .addRepeatedField(descriptor.findFieldByName("rfloat_value"), 10902.0f)
- .addRepeatedField(
- descriptor.findFieldByName("rnested_enum"),
-
descriptor.findEnumTypeByName("NestedEnum").findValueByName("ESTED_NOTHING"))
- .addRepeatedField(
- descriptor.findFieldByName("rnested_enum"),
-
descriptor.findEnumTypeByName("NestedEnum").findValueByName("NESTED_FIRST"))
+ val protoMessage = SimpleMessageRepeated
Review Comment:
We used Java classes initially (you should see the comment in the proto
files) and then thought it was an extra step required for the user to write
unit tests. But I agree that in production, the standard way is to use java
classes.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]