If you are using sqlline.py, then by default autocommit should be on. To
confirm, can you run !autocommit and see what the output is?

On Mon, Mar 30, 2015 at 9:05 PM, 梁鹏程 <[email protected]> wrote:

> hi,
> phoenix.connection.autoCommit in the hbase-site.xml  is server side or
> client side?
>  thanks.
>
> Regards,
> Ben Liang
>
> 在 2015年3月31日,10:55,丁桂涛(桂花) <[email protected]> 写道:
>
> Got it. I could add this conf (phoenix.connection.autoCommit) in the
> hbase-site.xml.
>
> On Tue, Mar 31, 2015 at 10:49 AM, 丁桂涛(桂花) <[email protected]> wrote:
>
>> Thanks Taylor for you kind reply.
>>
>> Actually I'm using the phoenix console (i.e. ./sqlline.py xxxx). Is auto
>> commit on the default behaviour? Or how should I set this in the console?
>>
>> On Tue, Mar 31, 2015 at 10:05 AM, James Taylor <[email protected]>
>> wrote:
>>
>>> I suspect you may not have auto commit on, in which case Phoenix would
>>> attempt to buffer the results of the select in memory so that you
>>> could commit it when you choose. Try setting auto commit on
>>> (connection.setAutoCommit(true)) for your connection before issuing
>>> the UPSERT SELECT statement.
>>>
>>> On Mon, Mar 30, 2015 at 6:48 PM, 丁桂涛(桂花) <[email protected]> wrote:
>>> > Hi all,
>>> >
>>> > I'm new to phoenix and found the UPSERT SELECT query ran very slowly
>>> and
>>> > failed after about 1 hour (I have set phoenix.query.timeoutMs to
>>> 6000000).
>>> >
>>> > Versions:
>>> >
>>> > Phoenix: 4.3.0
>>> >
>>> > HBase: 0.98.5-hadoop2
>>> >
>>> > Hive: 0.14.0
>>> >
>>> >
>>> > Work Flow:
>>> >
>>> > create HBase table in hbase shell:  create 'H_TABLE', 'CF',
>>> {NUMREGIONS =>
>>> > 21, SPLITALGO => 'HexStringSplit'}
>>> >
>>> > load data to HBase table in hive via
>>> > org.apache.hadoop.hive.hbase.HBaseStorageHandler
>>> >
>>> > create Phoenix view mapping to the HBase table H_TABLE: create view
>>> P_VIEW
>>> > (... ...);
>>> >
>>> > create a locally indexed Phoenix table: create table P_TABLE (... ...)
>>> > SALT_BUCKETS = 42; create local index idx on P_TABLE (...);
>>> >
>>> > insert data into P_TABLE: upsert into P_TABLE select * from P_VIEW;
>>> There're
>>> > total about 40M records and this query failed after about 1 hour.
>>> Below is
>>> > the error msg. Any suggestions?
>>> >
>>> >
>>> > Error:  (state=08000,code=101)
>>> > [10/1869]
>>> > org.apache.phoenix.exception.PhoenixIOException
>>> >         at
>>> >
>>> org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:108)
>>> >         at
>>> >
>>> org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:589)
>>> >         at
>>> >
>>> org.apache.phoenix.iterate.ConcatResultIterator.getIterators(ConcatResultIterator.java:50)
>>> >         at
>>> >
>>> org.apache.phoenix.iterate.ConcatResultIterator.currentIterator(ConcatResultIterator.java:97)
>>> >         at
>>> >
>>> org.apache.phoenix.iterate.ConcatResultIterator.next(ConcatResultIterator.java:117)
>>> >         at
>>> >
>>> org.apache.phoenix.compile.UpsertCompiler$2.execute(UpsertCompiler.java:679)
>>> >         at
>>> >
>>> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:280)
>>> >         at
>>> >
>>> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:272)
>>> >         at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
>>> >         at
>>> >
>>> org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:270)
>>> >         at
>>> >
>>> org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1063)
>>> >         at sqlline.Commands.execute(Commands.java:822)
>>> >         at sqlline.Commands.sql(Commands.java:732)
>>> >         at sqlline.SqlLine.dispatch(SqlLine.java:808)
>>> >         at sqlline.SqlLine.begin(SqlLine.java:681)
>>> >         at sqlline.SqlLine.start(SqlLine.java:398)
>>> >         at sqlline.SqlLine.main(SqlLine.java:292)
>>> > Caused by: java.lang.UnsupportedOperationException
>>> >         at java.util.AbstractList.add(AbstractList.java:148)
>>> >         at java.util.AbstractList.add(AbstractList.java:108)
>>> >         at
>>> >
>>> org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:535)
>>> >         ... 15 more
>>> >
>>> >
>>> >
>>>
>>
>>
>
>

Reply via email to