与lodash的无序字符串数组比较

时间:2018-09-03 13:25:56

标签: javascript arrays lodash

我正在尝试用lodash比较两个无序的字符串数组。我已经尝试过使用/usr/bin/python /Users/gowdhaman/GDIPythonNoteBook/PythonLearn/SparkGDLearn/EmployeeFileLoad.py Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). 18/09/03 18:48:48 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Traceback (most recent call last): File "/Users/gowdhaman/GDIPythonNoteBook/PythonLearn/SparkGDLearn/EmployeeFileLoad.py", line 19, in <module> main() File "/Users/gowdhaman/GDIPythonNoteBook/PythonLearn/SparkGDLearn/EmployeeFileLoad.py", line 14, in main emp = read_csv(spark, 'Employee.csv') File "/Users/gowdhaman/GDIPythonNoteBook/PythonLearn/SparkGDLearn/EmployeeFileLoad.py", line 4, in read_csv df = spark.read.load(filename, format='.csv', sep=',', header = 'true') File "/Library/Python/2.7/site-packages/pyspark/sql/readwriter.py", line 159, in load return self._df(self._jreader.load(path)) File "/Library/Python/2.7/site-packages/py4j/java_gateway.py", line 1133, in __call__ answer, self.gateway_client, self.target_id, self.name) File "/Library/Python/2.7/site-packages/pyspark/sql/utils.py", line 63, in deco return f(*a, **kw) File "/Library/Python/2.7/site-packages/py4j/protocol.py", line 319, in get_return_value format(target_id, ".", name), value) py4j.protocol.Py4JJavaError: An error occurred while calling o28.load. : java.lang.ClassNotFoundException: Failed to find data source: .csv. Please find packages at http://spark.apache.org/third-party-projects.html at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:549) at org.apache.spark.sql.execution.datasources.DataSource.providingClass$lzycompute(DataSource.scala:86) at org.apache.spark.sql.execution.datasources.DataSource.providingClass(DataSource.scala:86) at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:301) at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:178) at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:156) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) at py4j.Gateway.invoke(Gateway.java:280) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.GatewayConnection.run(GatewayConnection.java:214) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: .csv.DefaultSource at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$21$$anonfun$apply$12.apply(DataSource.scala:533) at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$21$$anonfun$apply$12.apply(DataSource.scala:533) at scala.util.Try$.apply(Try.scala:192) at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$21.apply(DataSource.scala:533) at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$21.apply(DataSource.scala:533) at scala.util.Try.orElse(Try.scala:84) at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:533) ... 16 more 函数,但是它似乎并没有达到我想要的功能。这是我尝试过的:

isMatch

谢谢。

1 个答案:

答案 0 :(得分:1)

您需要sort()数组来维护与_.isEqual()进行比较的顺序

var arr1 = ['foo', 'bar']
var arr2 = ['bar', 'foo']
console.log(_.isEqual(arr1.sort(),arr2.sort()));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>