drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Altekruse (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-1462) Error in performing operations on array casted as string
Date Mon, 29 Sep 2014 22:26:33 GMT

    [ https://issues.apache.org/jira/browse/DRILL-1462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14152427#comment-14152427
] 

Jason Altekruse commented on DRILL-1462:
----------------------------------------

Jinfeng's comments from the dev list,

I think currently Drill does not support the cast from an array / map into
String using "cast" function.  The only available is to use convert_to(
array/map, 'JSON').


select cast(strCategories as varchar(250)) from (select
convert_to(b.categories, 'JSON') as strCategories from
dfs.`/Users/jni/work/data/json/yelp.json` b ) where strCategories LIKE
'%Restaurants%';
+------------+
|   EXPR$0   |
+------------+
| [ "Restaurants" ] |
| [ "American (Traditional)", "Restaurants" ] |
+------------+
2 rows selected (0.243 seconds)

For your re-written query, the error message is not clear why it fails. We
should modify Drill so that it issue a more meaningful error msg (
Something like " Can not cast from repeated type to string").

> Error in performing operations on array casted as string
> --------------------------------------------------------
>
>                 Key: DRILL-1462
>                 URL: https://issues.apache.org/jira/browse/DRILL-1462
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 0.5.0
>         Environment: The following query casts an array as string to find out the potential
occurrence of Restaurant string in it. It is throwing an exception.
> 0: jdbc:drill:zk=local> select cast (b.categories as varchar(250)) as strCategories
from dfs.`/users/nrentachintala/Downloads/yelp_dataset_challenge_academic_dataset/yelp_academic_dataset_business.json`
b where strCategories LIKE 'Restaurants';
> Error: exception while executing query: DrillBuf(ridx: 0, widx: 0, cap: 0/0, unwrapped:
DrillBuf(ridx: 0, widx: 0, cap: 0/0, unwrapped: EmptyByteBufLE)).slice(0, 4) (state=,code=0)
> If I rewrite the query as below, it fails as well. The specific failure cause is unknown,
but logging a bug as tracking.
> 0: jdbc:drill:zk=local> select strCategories from (select cast (b.categories as varchar(250))
as strCategories from dfs.`/users/nrentachintala/Downloads/yelp_dataset_challenge_academic_dataset/yelp_academic_dataset_business.json`
b ) where strCategories LIKE '%Restaurants%';
> Query failed: Screen received stop request sent. Line 42, Column 21: "value" is neither
a method, a field, nor a member class of "org.apache.drill.exec.expr.holders.RepeatedVarCharHolder"
[803b2c89-2689-4270-a4b7-b2e4a9ab62ca]
> Sample JSON:
> {"business_id": "vcNAWiLM4dR7D2nwwJ7nCA", "full_address": "4840 E Indian School Rd\nSte
101\nPhoenix, AZ 85018", "hours": {"Tuesday": {"close": "17:00", "open": "08:00"}, "Friday":
{"close": "17:00", "open": "08:00"}, "Monday": {"close": "17:00", "open": "08:00"}, "Wednesday":
{"close": "17:00", "open": "08:00"}, "Thursday": {"close": "17:00", "open": "08:00"}}, "open":
true, "categories": ["Doctors", "Health & Medical"], "city": "Phoenix", "review_count":
7, "name": "Eric Goldberg, MD", "neighborhoods": [], "longitude": -111.98375799999999, "state":
"AZ", "stars": 3.5, "latitude": 33.499313000000001, "attributes": {"By Appointment Only":
true}, "type": "business"}
> {"business_id": "JwUE5GmEO-sH1FuwJgKBlQ", "full_address": "6162 US Highway 51\nDe Forest,
WI 53532", "hours": {}, "open": true, "categories": ["Restaurants"], "city": "De Forest",
"review_count": 26, "name": "Pine Cone Restaurant", "neighborhoods": [], "longitude": -89.335843999999994,
"state": "WI", "stars": 4.0, "latitude": 43.238892999999997, "attributes": {"Take-out": true,
"Good For": {"dessert": false, "latenight": false, "lunch": true, "dinner": false, "breakfast":
false, "brunch": false}, "Caters": false, "Noise Level": "average", "Takes Reservations":
false, "Delivery": false, "Ambience": {"romantic": false, "intimate": false, "touristy": false,
"hipster": false, "divey": false, "classy": false, "trendy": false, "upscale": false, "casual":
false}, "Parking": {"garage": false, "street": false, "validated": false, "lot": true, "valet":
false}, "Has TV": true, "Outdoor Seating": false, "Attire": "casual", "Alcohol": "none", "Waiter
Service": true, "Accepts Credit Cards": true, "Good for Kids": true, "Good For Groups": true,
"Price Range": 1}, "type": "business"}
> {"business_id": "uGykseHzyS5xAMWoN6YUqA", "full_address": "505 W North St\nDe Forest,
WI 53532", "hours": {"Monday": {"close": "22:00", "open": "06:00"}, "Tuesday": {"close": "22:00",
"open": "06:00"}, "Friday": {"close": "22:00", "open": "06:00"}, "Wednesday": {"close": "22:00",
"open": "06:00"}, "Thursday": {"close": "22:00", "open": "06:00"}, "Sunday": {"close": "21:00",
"open": "06:00"}, "Saturday": {"close": "22:00", "open": "06:00"}}, "open": true, "categories":
["American (Traditional)", "Restaurants"], "city": "De Forest", "review_count": 16, "name":
"Deforest Family Restaurant", "neighborhoods": [], "longitude": -89.353437, "state": "WI",
"stars": 4.0, "latitude": 43.252267000000003, "attributes": {"Take-out": true, "Good For":
{"dessert": false, "latenight": false, "lunch": false, "dinner": false, "breakfast": false,
"brunch": true}, "Caters": false, "Noise Level": "quiet", "Takes Reservations": false, "Delivery":
false, "Parking": {"garage": false, "street": false, "validated": false, "lot": true, "valet":
false}, "Has TV": true, "Outdoor Seating": false, "Attire": "casual", "Ambience": {"romantic":
false, "intimate": false, "touristy": false, "hipster": false, "divey": false, "classy": false,
"trendy": false, "upscale": false, "casual": true}, "Waiter Service": true, "Accepts Credit
Cards": true, "Good for Kids": true, "Good For Groups": true, "Price Range": 1}, "type": "business"}
>            Reporter: Neeraja
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message