Skip to content

Instantly share code, notes, and snippets.

@tmkdev
Last active September 5, 2019 08:47
Show Gist options
  • Save tmkdev/8871169a11c0b5573971508e4a168b41 to your computer and use it in GitHub Desktop.
Save tmkdev/8871169a11c0b5573971508e4a168b41 to your computer and use it in GitHub Desktop.
Load ESRI GIS extensions in Cloudera Impala
clone the ESRI Project at https://github.com/Esri/gis-tools-for-hadoop
cd to the lib folder in project: gis-tools-for-hadoop/samples/lib/
mkdir combinedjar
cd combinedjar/
unzip ../esri-geometry-api.jar
unzip ../spatial-sdk-hadoop.jar
zip -r esri-gis.jar *
Copy this new jar to your hdfs shared location.
-- Based on hive work: https://gist.github.com/jlovick/8b28ee5653e5f8de811d8ced42d3cb1a
-- Uses ESRI GIS tools for hadoop: https://github.com/Esri/gis-tools-for-hadoop
-- Substitute {{ database }} with your database name. All set for Jinja2 templating.
-- Adjust your lib location as needed.
create function {{ database }}.ST_AsBinary location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_AsBinary';
create function {{ database }}.ST_AsGeoJSON location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_AsGeoJson';
create function {{ database }}.ST_AsJSON location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_AsJson';
create function {{ database }}.ST_AsShape location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_AsShape';
create function {{ database }}.ST_AsText location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_AsText';
create function {{ database }}.ST_GeomFromJSON location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_GeomFromJson';
create function {{ database }}.ST_GeomFromGeoJSON location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_GeomFromGeoJson';
create function {{ database }}.ST_GeomFromShape location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_GeomFromShape';
create function {{ database }}.ST_GeomFromText location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_GeomFromText';
create function {{ database }}.ST_GeomFromWKB location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_GeomFromWKB';
create function {{ database }}.ST_PointFromWKB location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_PointFromWKB';
create function {{ database }}.ST_LineFromWKB location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_LineFromWKB';
create function {{ database }}.ST_PolyFromWKB location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_PolyFromWKB';
create function {{ database }}.ST_MPointFromWKB location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MPointFromWKB';
create function {{ database }}.ST_MLineFromWKB location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MLineFromWKB';
create function {{ database }}.ST_MPolyFromWKB location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MPolyFromWKB';
create function {{ database }}.ST_GeomCollection location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_GeomCollection';
create function {{ database }}.ST_GeometryType location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_GeometryType';
create function {{ database }}.ST_Point location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Point';
create function {{ database }}.ST_PointZ location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_PointZ';
create function {{ database }}.ST_LineString location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_LineString';
create function {{ database }}.ST_Polygon location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Polygon';
create function {{ database }}.ST_MultiPoint location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MultiPoint';
create function {{ database }}.ST_MultiLineString location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MultiLineString';
create function {{ database }}.ST_MultiPolygon location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MultiPolygon';
create function {{ database }}.ST_SetSRID location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_SetSRID';
create function {{ database }}.ST_SRID location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_SRID';
create function {{ database }}.ST_IsEmpty location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_IsEmpty';
create function {{ database }}.ST_IsSimple location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_IsSimple';
create function {{ database }}.ST_Dimension location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Dimension';
create function {{ database }}.ST_X location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_X';
create function {{ database }}.ST_Y location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Y';
create function {{ database }}.ST_MinX location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MinX';
create function {{ database }}.ST_MaxX location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MaxX';
create function {{ database }}.ST_MinY location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MinY';
create function {{ database }}.ST_MaxY location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MaxY';
create function {{ database }}.ST_IsClosed location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_IsClosed';
create function {{ database }}.ST_IsRing location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_IsRing';
create function {{ database }}.ST_Length location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Length';
create function {{ database }}.ST_GeodesicLengthWGS84 location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_GeodesicLengthWGS84';
create function {{ database }}.ST_Area location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Area';
create function {{ database }}.ST_Is3D location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Is3D';
create function {{ database }}.ST_Z location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Z';
create function {{ database }}.ST_MinZ location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MinZ';
create function {{ database }}.ST_MaxZ location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MaxZ';
create function {{ database }}.ST_IsMeasured location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_IsMeasured';
create function {{ database }}.ST_M location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_M';
create function {{ database }}.ST_MinM location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MinM';
create function {{ database }}.ST_MaxM location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_MaxM';
create function {{ database }}.ST_CoordDim location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_CoordDim';
create function {{ database }}.ST_NumPoints location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_NumPoints';
create function {{ database }}.ST_PointN location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_PointN';
create function {{ database }}.ST_StartPoint location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_StartPoint';
create function {{ database }}.ST_EndPoint location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_EndPoint';
create function {{ database }}.ST_ExteriorRing location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_ExteriorRing';
create function {{ database }}.ST_NumInteriorRing location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_NumInteriorRing';
create function {{ database }}.ST_InteriorRingN location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_InteriorRingN';
create function {{ database }}.ST_NumGeometries location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_NumGeometries';
create function {{ database }}.ST_GeometryN location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_GeometryN';
create function {{ database }}.ST_Centroid location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Centroid';
create function {{ database }}.ST_Contains location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Contains';
create function {{ database }}.ST_Crosses location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Crosses';
create function {{ database }}.ST_Disjoint location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Disjoint';
create function {{ database }}.ST_EnvIntersects location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_EnvIntersects';
create function {{ database }}.ST_Envelope location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Envelope';
create function {{ database }}.ST_Equals location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Equals';
create function {{ database }}.ST_Overlaps location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Overlaps';
create function {{ database }}.ST_Intersects location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Intersects';
create function {{ database }}.ST_Relate location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Relate';
create function {{ database }}.ST_Touches location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Touches';
create function {{ database }}.ST_Within location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Within';
create function {{ database }}.ST_Distance location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Distance';
create function {{ database }}.ST_Boundary location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Boundary';
create function {{ database }}.ST_Buffer location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Buffer';
create function {{ database }}.ST_ConvexHull location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_ConvexHull';
create function {{ database }}.ST_Intersection location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Intersection';
create function {{ database }}.ST_Union location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Union';
create function {{ database }}.ST_Difference location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Difference';
create function {{ database }}.ST_SymmetricDiff location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_SymmetricDiff';
create function {{ database }}.ST_SymDifference location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_SymmetricDiff';
create function {{ database }}.ST_Aggr_ConvexHull location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Aggr_ConvexHull';
create function {{ database }}.ST_Aggr_Intersection location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Aggr_Intersection';
create function {{ database }}.ST_Aggr_Union location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Aggr_Union';
create function {{ database }}.ST_Bin location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_Bin';
create function {{ database }}.ST_BinEnvelope location '/libs/esri-gis.jar' symbol='com.esri.hadoop.hive.ST_BinEnvelope';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment