[ https://issues.apache.org/jira/browse/HIVE-1518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899624#action_12899624 ]
John Sichi commented on HIVE-1518: ---------------------------------- Now there are a bunch of redundant casts remaining, e.g. + Double myval = (Double) ngrams.get(mykey); + Text word = (Text) other.get(i+j); For cases like this, you can avoid the cast by keeping around the originally typed object: + ((ArrayList<Text>) curGram[0]).add(new Text(key.get(j))); And for the Comparator, you can use Comparator<Map.Entry<ArrayList<String>,Double>> to make it fully strongly typed and avoid casts. > context_ngrams() UDAF for estimating top-k contextual n-grams > ------------------------------------------------------------- > > Key: HIVE-1518 > URL: https://issues.apache.org/jira/browse/HIVE-1518 > Project: Hadoop Hive > Issue Type: New Feature > Components: Query Processor > Affects Versions: 0.6.0 > Reporter: Mayank Lahiri > Assignee: Mayank Lahiri > Fix For: 0.7.0 > > Attachments: HIVE-1518.1.patch, HIVE-1518.2.patch, HIVE-1518.3.patch > > > Create a new context_ngrams() function that generalizes the ngrams() UDAF to > allow the user to specify context around n-grams. The analogy is > "fill-in-the-blanks", and is best illustrated with an example: > SELECT context_ngrams(sentences(tweets), array("i", "love", null), 300) FROM > twitter; > will estimate the top-300 words that follow the phrase "i love" in a database > of tweets. The position of the null(s) specifies where to generate the n-gram > from, and can be placed anywhere. For example: > SELECT context_ngrams(sentences(tweets), array("i", "love", null, "but", > "hate", null), 300) FROM twitter; > will estimate the top-300 word-pairs that fill in the blanks specified by > null. > POSSIBLE USES: > 1. Pre-computing search lookaheads > 2. Sentiment analysis for products or entities -- e.g., querying with context > = array("twitter", "is", null) > 3. Navigation path analysis in URL databases -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.