Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

Has anyone tried building impala on ARM/aarch64?

avatar
New Contributor
I am trying to build Impala on ARM/aarch64, But I did not find any useful guide/document to read.
 

I noticed that there are some assembly code in Impala and third-party code, Has anyone tried building it on ARM?

Best Regards

York

1 ACCEPTED SOLUTION

avatar
You'd probably do better having a conversation about this on
dev@impala.apache.org, that's where a lot of this kind of discussion
happens.

I can give a quick answer. No you can't build Impala without modifications
on aarch64, it's x86-64 only at the moment.

I imagine most of the third party code works with aarch64, but haven't
tried it. It would require a bit of legwork to track down all the places
that assume x86-64 (intrinsics like you mentioned, but also some places in
the query compilation where we assume x86-64 calling convention). The good
news is that aarch64 is little-endian and has good LLVM support, which
removes two major obstacles.

View solution in original post

2 REPLIES 2

avatar
You'd probably do better having a conversation about this on
dev@impala.apache.org, that's where a lot of this kind of discussion
happens.

I can give a quick answer. No you can't build Impala without modifications
on aarch64, it's x86-64 only at the moment.

I imagine most of the third party code works with aarch64, but haven't
tried it. It would require a bit of legwork to track down all the places
that assume x86-64 (intrinsics like you mentioned, but also some places in
the query compilation where we assume x86-64 calling convention). The good
news is that aarch64 is little-endian and has good LLVM support, which
removes two major obstacles.

avatar

Oh, the best reference for building Impala is the apache wiki.

 

https://cwiki.apache.org/confluence/display/IMPALA/Building+native-toolchain+from+scratch+and+using+... is a bit more hidden and talks about how to build the third party dependencies