Thanks!! It was useful!!!

On Sat, 24 Feb 2024 at 6:13 PM XQ Hu via user <user@beam.apache.org> wrote:

> Here is what I did:
>
> CREATE TABLE IF NOT EXISTS test2 (id bigint DEFAULT
> nextval('sap_tm_customer_id_seq'::regclass) NOT NULL, name VARCHAR(10),
> load_date_time TIMESTAMP)
>
> make sure id cannot be NULL (you might not need this).
>
> I tried this for my data without using the id field:
>
> class ExampleRow(NamedTuple):
>     name: str
>     load_date_time: str
>
> For the statement, I used this:
>
> "INSERT INTO test2 VALUES(DEFAULT, ?,?::timestamp)"
>
> DEFAULT fills in the id using sap_tm_customer_id_seq.
>
> I hope this is what you are looking for.
>
>
> On Mon, Feb 19, 2024 at 5:57 PM Juan Romero <jsrf...@gmail.com> wrote:
>
>> Hi guys. I have a table in apache beam that has an auto increment id with
>> a sequence.
>>
>>
>>
>>
>>
>>
>> *CREATE SEQUENCE sap_tm_customer_id_seq;CREATE TABLE IF NOT EXISTS test
>> (   id bigint DEFAULT nextval('sap_tm_customer_id_seq'::regclass),   name
>> VARCHAR(10),   load_date_time TIMESTAMP);*
>>
>> And i have the following pipeline to make the insert into the table:
>> with beam.Pipeline() as p:
>>   _ = (
>>       p
>>       | beam.Create(
>>         [
>>
>>             ExampleRow(id=1,name='adsf', load_date_time='2023-04-05
>> 12:34:55'),
>>             ExampleRow(id=3,name='adsf', load_date_time='2023-04-05
>> 12:34:56')
>>         ]).with_output_types(ExampleRow)
>>       | 'Write to jdbc' >> WriteToJdbc(
>>           driver_class_name='org.postgresql.Driver',
>>           jdbc_url='jdbc:postgresql://localhost:5432/postgres',
>>           username='postgres',
>>           password='postgres',
>>           table_name= 'test',
>>           connection_properties="stringtype=unspecified",
>>           statement='INSERT INTO test \
>>                         VALUES(?,?,?) '
>>       ))
>>
>> The problem is that I haven't been able to insert the register
>> omitting the id field into the pcollection in a way the database
>> automatically assigns the auto increment id.
>>
>> Can you help me? I have spent a lot of time but i have not realize the
>> solution.
>>
>> Thanks!!
>>
>>
>>
>>

Reply via email to