Hi YeHAN, I'm not sure that I understand your question. Maybe you could
join the Slack channel and ask there so we can get some quick follow-up
questions answered?

On Wed, Sep 7, 2022 at 4:47 PM liuyehan <lyh1067341...@163.com> wrote:

> HI,everyone:
> Now, when I use Iceberg native Java API to write data to Iceberg table,
> only one piece of data can be written into a file,The next piece of data
> doesn't fit into the file. Therefore, I need a streaming writing scene to
> write one piece of data into a file,I also did not find the corresponding
> test class in the source code,Thank you.
> The following code:
>
>  Configuration conf = new Configuration();
>         String warehousePath = 
> "hdfs://192.168.88.110:8020/warehouse_path_iceberg";
>         HadoopCatalog catalog = new HadoopCatalog(conf, warehousePath);
>         //  catalog.createNamespace(Namespace.of("seatunnel"));
>         catalog.setConf(conf);
>         Schema schema = new Schema(
>                 Types.NestedField.required(1, "level", 
> Types.StringType.get()),
>                 Types.NestedField.required(2, "message", 
> Types.IntegerType.get())
>         );
>
>
>      /*   PartitionSpec spec = PartitionSpec.builderFor(schema)
>                 .hour("event_time")
>                 .build();*/
>
>         TableIdentifier name = TableIdentifier.of("seatunnel5", 
> "firsttable5");
>         Table table = catalog.loadTable(name);
>         // Transaction t = table.newTransaction();
>
>
> // commit operations to the transaction
>         // t.newDelete().deleteFromRowFilter(filter).commit();
>         String location = 
> "hdfs://192.168.88.110:8020/warehouse_path_iceberg/lyhoutput";
>         String filename = "9_8_lyh.orc";
>         Path path = new Path(location, filename);
>         FileFormat fileFormat = FileFormat.fromFileName(filename);
>         Preconditions.checkNotNull(fileFormat, "Cannot determine format for 
> file: %s", filename);
>
>
>         FileAppenderFactory<Record> appenderFactory =
>                 new GenericAppenderFactory(schema);
>         ArrayList<GenericRecord> genericRecords = new ArrayList<>();
>         GenericRecord genericRecord = GenericRecord.create(schema);
>         GenericRecord genericRecord2 = GenericRecord.create(schema);
>         genericRecord.set(0, "ddddff");
>         genericRecord.set(1, 5555);
>         genericRecord2.set(0, "hhhhh");
>         genericRecord2.set(1, 4444);
>         genericRecords.add(genericRecord2);
>         genericRecords.add(genericRecord);
>         FileAppender<Record> appender = 
> appenderFactory.newAppender(fromPath(path, conf), fileFormat);
>         for (GenericRecord record : genericRecords) {
>             try (FileAppender<Record> closeableAppender = appender) {
>                 closeableAppender.add(record);
>                 //  closeableAppender.addAll((Iterable<Record>) 
> genericRecord);
>             }
>         }
>
>
>         DataFile data = DataFiles.builder(PartitionSpec.unpartitioned())
>                 .withInputFile(HadoopInputFile.fromPath(path, conf))
>                 .withMetrics(appender.metrics())
>                 .build();
>             table.newAppend().appendFile(data).commit();
>
> Best,
> YeHAN Liu (2013650523)
> liuyehan
> lyh1067341...@163.com
>
> <https://maas.mail.163.com/dashi-web-extend/html/proSignature.html?ftlId=1&name=liuyehan&uid=lyh1067341434%40163.com&iconUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fsma957d454002c351ecf6ffb4bd3c71fdc.jpg&items=%5B%22lyh1067341434%40163.com%22%5D>
>


-- 
Ryan Blue
Tabular

Reply via email to