{"action":"created","issue":{"url":"https://api.github.com/repos/crealytics/spark-google-analytics/issues/12","repository_url":"https://api.github.com/repos/crealytics/spark-google-analytics","labels_url":"https://api.github.com/repos/crealytics/spark-google-analytics/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/crealytics/spark-google-analytics/issues/12/comments","events_url":"https://api.github.com/repos/crealytics/spark-google-analytics/issues/12/events","html_url":"https://github.com/crealytics/spark-google-analytics/issues/12","id":190868194,"number":12,"title":"Document filters API","user":{"login":"SebastianEdwards","id":596014,"avatar_url":"https://avatars.githubusercontent.com/u/596014?v=3","gravatar_id":"","url":"https://api.github.com/users/SebastianEdwards","html_url":"https://github.com/SebastianEdwards","followers_url":"https://api.github.com/users/SebastianEdwards/followers","following_url":"https://api.github.com/users/SebastianEdwards/following{/other_user}","gists_url":"https://api.github.com/users/SebastianEdwards/gists{/gist_id}","starred_url":"https://api.github.com/users/SebastianEdwards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SebastianEdwards/subscriptions","organizations_url":"https://api.github.com/users/SebastianEdwards/orgs","repos_url":"https://api.github.com/users/SebastianEdwards/repos","events_url":"https://api.github.com/users/SebastianEdwards/events{/privacy}","received_events_url":"https://api.github.com/users/SebastianEdwards/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-11-21T23:41:50Z","updated_at":"2016-11-27T12:20:35Z","closed_at":null,"body":"Is this how filters should be used with this package?\r\n\r\n```\r\ndf.select(\r\n  col(\"date\"),\r\n  col(\"sourceMedium\"),\r\n  col(\"transactionRevenue\")\r\n).filter(col(\"transactionRevenue\").gt(0))\r\n```\r\n\r\nI end up with an error at execution time inside this [pattern match](https://github.com/crealytics/spark-google-analytics/blob/master/src/main/scala/com/crealytics/google/analytics/AnalyticsRelation.scala#L136):\r\n```\r\nNotImplementedError: an implementation is missing\r\n```"},"comment":{"url":"https://api.github.com/repos/crealytics/spark-google-analytics/issues/comments/263119259","html_url":"https://github.com/crealytics/spark-google-analytics/issues/12#issuecomment-263119259","issue_url":"https://api.github.com/repos/crealytics/spark-google-analytics/issues/12","id":263119259,"user":{"login":"SebastianEdwards","id":596014,"avatar_url":"https://avatars.githubusercontent.com/u/596014?v=3","gravatar_id":"","url":"https://api.github.com/users/SebastianEdwards","html_url":"https://github.com/SebastianEdwards","followers_url":"https://api.github.com/users/SebastianEdwards/followers","following_url":"https://api.github.com/users/SebastianEdwards/following{/other_user}","gists_url":"https://api.github.com/users/SebastianEdwards/gists{/gist_id}","starred_url":"https://api.github.com/users/SebastianEdwards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SebastianEdwards/subscriptions","organizations_url":"https://api.github.com/users/SebastianEdwards/orgs","repos_url":"https://api.github.com/users/SebastianEdwards/repos","events_url":"https://api.github.com/users/SebastianEdwards/events{/privacy}","received_events_url":"https://api.github.com/users/SebastianEdwards/received_events","type":"User","site_admin":false},"created_at":"2016-11-27T12:20:35Z","updated_at":"2016-11-27T12:20:35Z","body":"Also, found something neat in the data sources API. Apparently overwriting the [unhandledFilters](http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.sources.BaseRelation@unhandledFilters(filters:Array[org.apache.spark.sql.sources.Filter]):Array[org.apache.spark.sql.sources.Filter]) method is a way stop the pushdown of unsupported filters. It'll also stop the filters being evaluated twice - the default method implementation runs the filter in spark as well as the data source.\r\n\r\nWant me to do a PR for this?"}}
{"actor":{"display_login":"SebastianEdwards"}}