alamb commented on code in PR #8408:
URL: https://github.com/apache/arrow-rs/pull/8408#discussion_r2382752763


##########
parquet/src/variant.rs:
##########
@@ -67,37 +65,29 @@
 //! # }
 //! ```
 //!
-//! # Example: Writing JSON with a Parquet file with Variant column
+//! # Example: Writing JSON into a Parquet file with Variant column
 //! ```rust
 //! # use std::sync::Arc;
 //! # use arrow_array::{ArrayRef, RecordBatch, StringArray};
-//! # use parquet::variant::compute::json_to_variant;
-//! # use parquet::variant::compute::VariantArray;
+//! # use arrow_schema::Schema;
+//! # use parquet::variant::{json_to_variant, VariantArray};
 //! # use parquet::arrow::ArrowWriter;
 //! # fn main() -> Result<(), parquet::errors::ParquetError> {
 //! // Create an array of JSON strings, simulating a column of JSON data
-//! // TODO use StringViewArray when available
-//! let input_array = StringArray::from(vec![
+//! let input_array: ArrayRef = Arc::new(StringArray::from(vec![
 //!   Some(r#"{"name": "Alice", "age": 30}"#),
 //!   Some(r#"{"name": "Bob", "age": 25, "address": {"city": "New York"}}"#),
 //!   None,
 //!   Some("{}"),
-//! ]);
-//! let input_array: ArrayRef = Arc::new(input_array);
+//! ]));
 //!
 //! // Convert the JSON strings to a VariantArray
 //! let array: VariantArray = json_to_variant(&input_array)?;
-//!
-//! // TODO support writing VariantArray directly
-//! // at the moment it panics when trying to downcast to a struct array
-//! // https://github.com/apache/arrow-rs/issues/8296
-//! //  let array: ArrayRef = Arc::new(array);
-//! let array: ArrayRef = Arc::new(array.into_inner());
-//!
 //!  // create a RecordBatch with the VariantArray
-//!  let batch = RecordBatch::try_from_iter(vec![("data", array)])?;
+//! let schema = Schema::new(vec![array.field("data")]);
+//!  let batch = RecordBatch::try_new(Arc::new(schema), 
vec![ArrayRef::from(array)])?;
 //!
-//!  // write the RecordBatch to a Parquet file
+//!  // write the RecordBatch to a Parquet file as normal
 //!  let file = std::fs::File::create("variant-json.parquet")?;
 //!  let mut writer = ArrowWriter::try_new(file, batch.schema(), None)?;
 //!  writer.write(&batch)?;

Review Comment:
   I think I fixed what you are suggesting in a75e4cab8b but I am not 100% sure



-- 
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]

Reply via email to