Yes.
Scalding uses Kyro to serialize objects in cascading tuples, and protobuf are serialized very efficiently with that. It should be transparent to you.
If you want to optimize it further, you can hook protobuf serialization directly into scalding (which we do internally at twitter) using elephantbird:
You can tell scalding about it by adding:
override def ioSerializations = List("com.twitter.elephantbird.cascading2.io.protobuf.ProtobufSerialization") ++
super.ioSerializations
to your base Job class (and linking in elephantbird).
You can do the same with thrift from this project:
That said, I'd just try with the default serialization first, and only go to something like this if you run into problems (protobuf should be fine already).