import com.opencsv.CSVWriter; // Noncompliant
+import org.apache.commons.csv.CSVPrinter; // Noncompliant
+import com.univocity.parsers.csv.CsvParser; // Noncompliant
+Avoid using CSV format for data exchange. Prefer Apache Parquet instead.
+The CSV format has several drawbacks compared to columnar binary formats like Parquet:
+Size: Parquet compresses data significantly better than plain-text CSV, reducing storage and network transfer costs.
Read performance: Parquet supports column pruning and predicate push-down, so only the required columns and rows are read.
Write performance: Parquet encoding (dictionary, RLE, bit-packing) makes writes faster for large datasets.
Schema: Parquet embeds schema metadata, removing the need for fragile header-row parsing.
This rule detects imports from the most popular Java CSV libraries (OpenCSV, Apache Commons CSV, Univocity Parsers, Jackson CSV, Super CSV).
+import com.opencsv.CSVWriter; // Noncompliant
+import org.apache.commons.csv.CSVPrinter; // Noncompliant
+import com.univocity.parsers.csv.CsvParser; // Noncompliant
+// Use Apache Parquet, Apache Avro, or Apache ORC instead
+import org.apache.parquet.hadoop.ParquetWriter;
+import org.apache.avro.file.DataFileWriter;
+