1. 程式人生 > >hive0.11的hive server實現kerberos認證和impersonation中碰到的問題

hive0.11的hive server實現kerberos認證和impersonation中碰到的問題

1. 針對”select *from xxx“這種不起MR Job的語句,server端是直接通過MetastoreClient拿到了表對應hdfs的存放路徑用FetchTask讀取出來的。這邊有點要注意的是hive 0.11中新增加了一個配置項”hive.fetch.task.conversion“,由jira HIVE-887引入,預設值是minimal,此外可以設定成more,minimal模式下對於”SELECT STAR, FILTER on partition columns, LIMIT only“不會起MR Job,more模式下對於”SELECT, FILTER, LIMIT only (TABLESAMPLE, virtual columns)
“這種沒有子查詢,聚合操作和distinct的語句也不會起MR Job,大大降低了query latency,觀察實現程式碼,實它是將TableScanOperator, FilterOperator, SelectOperator作為FetchOperator的子Operator將資料拿到client端(即hive server端)來做filter或者projection