Cool, thanks for the info.

I think this is something we are going to change to completely decouple the
> Hive support and catalog.


Is there a ticket for this? I did a search in jira and only found
"SPARK-16275: Implement all the Hive fallback functions", which seems to be
related to it.


On Mon, Jan 23, 2017 at 3:21 AM, Xiao Li <gatorsm...@gmail.com> wrote:

> Agree. : )
>
> 2017-01-22 11:20 GMT-08:00 Reynold Xin <r...@databricks.com>:
>
>> To be clear there are two separate "hive" we are talking about here. One
>> is the catalog, and the other is the Hive serde and UDF support. We want to
>> get to a point that the choice of catalog does not impact the functionality
>> in Spark other than where the catalog is stored.
>>
>>
>> On Sun, Jan 22, 2017 at 11:18 AM Xiao Li <gatorsm...@gmail.com> wrote:
>>
>>> We have a pending PR to block users to create the Hive serde table when
>>> using InMemroyCatalog. See: https://github.com/apache/spark/pull/16587
>>> I believe it answers your question.
>>>
>>> BTW, we still can create the regular data source tables and insert the
>>> data into the tables. The major difference is whether the metadata is
>>> persistently stored or not.
>>>
>>> Thanks,
>>>
>>> Xiao Li
>>>
>>> 2017-01-22 11:14 GMT-08:00 Reynold Xin <r...@databricks.com>:
>>>
>>> I think this is something we are going to change to completely decouple
>>> the Hive support and catalog.
>>>
>>>
>>> On Sun, Jan 22, 2017 at 4:51 AM Shuai Lin <linshuai2...@gmail.com>
>>> wrote:
>>>
>>> Hi all,
>>>
>>> Currently when the in-memory catalog is used, e.g. through `--conf
>>> spark.sql.catalogImplementation=in-memory`, we can create a persistent
>>> table, but inserting into this table would fail with error message "Hive
>>> support is required to insert into the following tables..".
>>>
>>>     sql("create table t1 (id int, name string, dept string)") // OK
>>>     sql("insert into t1 values (1, 'name1', 'dept1')")  // ERROR
>>>
>>>
>>> This doesn't make sense for me, because this table would always be empty
>>> if we can't insert into it, thus would be of no use. But I wonder if there
>>> are other good reasons for the current logic. If not, I would propose to
>>> raise an error when creating the table in the first place.
>>>
>>> Thanks!
>>>
>>> Regards,
>>> Shuai Lin (@lins05)
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>

Reply via email to